如何在word里用正则表达式找到一个单独的汉字
在编写处理字符串的程序或者网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具。
换句话说,正则表达式就是记录文本规则的代码。
用户很可能使用过Windows中用于文件查找的通配符,也就是*和?。
如果想要查找某个目录下的所有的Word文档的话,用户可以搜索*.doc。
在这里,*被解释成任意的字符串。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述用户的需求,当然,代价就是更复杂,例如,用户可以编写一个正则表达式用来查找所有一0开头,后面跟着2-3位数字,然后是一个连字符“-”,最后是7位或者8位数字的字符串(如0010-12345678或者0376-7654321)。
正则表达式适用于进行文字匹配的工具,所以本文中多次提到了在字符串里面搜索/查找,这种说法的意思是在给定的字符串中,寻找与给定的正则表达式相匹配的部分。
有可能字符串里又不知一个部分满足给定的正则表达式,这时每一个这样的部分都被称为一个匹配。
总体来说,正则表达式有以下三种作用:(1)测试字符串的某个模式。
例如,可以输入一个字符串进行测试看该字符串中是否存在一个电话号码模式或者一个信用卡模式,这成为数据的有效性检验。
(2)替换文本。
可以再文档中使用一个正则表达式来表示特定文字,然后可以将其全部删除或者替换成别的文字。
(3)根据模式匹配从字符串中提取一个子字符串。
可以用来在文本或者输入字段中查找特定的文字。
一个正则表达式是由普通字符(如字符a-z)以及特殊字符(又称为元字符)组成文本模式。
在查找文字主体时该模板描述待匹配的一个或者多个字符。
正则表达式作为一个模板将某个字符模式与所搜索的字符串进行匹配。
正则表达式的语法如下所示:/匹配对象的模式/其中,位于之间的部分就是将要在目标字符串中进行匹配的模式。
在使用时,用户只需要将希望查找的匹配对象模板内容放入“//”定界符之间即可。
例如,在字符串“TestDemo”中查找匹配模式Test,就可以使用如下代码:/Test/
JavaScript中可以使用正则表达式么?如果能,该如何使用呢?
^(?!.*[^\d+\-*/\(\)]) #规则0,字符串必须由数字,符号和括号组成(?!.*\)\d) #规则A,不允许右括号后接数字(?!.*[+\-*/]([+\-*/]|\))) #规则B,不允许符号后面接符号或右括号(?!.*\([+*/]) #规则C,不允许左括号后接运算符(- 可以表示负号)(?!.*(\d|\))\() #规则D,不允许左括号前有数字或右括号(?=\d|\-|\() #规则E,字符串开头必须是,数字,负号,左括号中的一个(?=.*(\d|\))$) #规则F:结尾必须是数字或者右括号[^\(\)]* #开始匹配,捕获括号,使用平衡组来判断括号数量是否相等,需要.NET的支持(((?'open'\()[^\(\)]* )+((?'-open'\))[^\(\)]* )+)*(?(open)(?!)) #规则G:左右括号数量必须相等$最终的正则表达式为:^(?!.*[^\d+\-*/\(\)])(?!.*\)\d)(?!.*[+\-*/]([+\-*/]|\)))(?!.*\([+*/])(?!.*(\d|\))\()(?=\d|\-|\()(?=.*(\d|\))$)[^\(\)]*(((?'open'\()[^\(\)]*)+((?'-open'\))[^\(\)]*)+)*(?(open)(?!))$没考虑空格的情况,因为考虑空格需要加很多很多个\s*,大大降低可读性由于使用了平衡组,此正则表达式需要在.NET环境下运行
如何用正则表达式筛选html中表格中的数据
展开全部 正则表达式]*>.*?|匹配hello|abcd 不匹配abc|123|ddd 正则表达式^[^`~!/@\#}$%:;)(_^{&*=|'+]+$匹配This is a test 不匹配 | That's it 正则表达式匹配this text has been removed --> | 不匹配this text has not been removed 正则表达式(\[(\w+)\s*(([\w]*)=('|")?([a-zA-Z0-9|:|\/|=|-|.|\?|&]*)(\5)?)*\])([a-zA-Z0-9|:|\/|=|-|.|\?|&|\s]+)(\[\/\2\])匹配[link url="http://www.domain.com/file.extension?getvar=value&secondvar=value"]Link[/li 不匹配[a]whatever[/b] | [a var1=something var2=somethingelse]whatever[/a] | [a]whatever[a] 正则表达式href=[\"\'](http:\/\/|\.\/|\/)?\w+(\.\w+)*(\/\w+(\.\w+)?)*(\/|\?\w*=\w*(&\w*=\w*)*)?[\"\']匹配href="www.yahoo.com" | href="http://localhost/blah/" | href="eek" 不匹配href="" | href=eek | href="bad example" 正则表达式"([^"](?:\\.|[^\\"]*)*)"匹配"This is a \"string\"." 不匹配"This is a \"string\". 正则表达式(?i:on(blur|c(hange|lick)|dblclick|focus|keypress|(key|mouse)(down|up)|(un)?load|mouse(move|o(ut|ver))|reset|s(elect|ubmit)))匹配onclick | onsubmit | onmouseover不匹配click | onandon | mickeymouse 正则表达式(?s)/\*.*\*/匹配/* .................... */ | /* imagine lots of lines here */ 不匹配*/ malformed opening tag */ | /* malformed closing tag /* 正则表达式]*>.*?|匹配hello|abcd 不匹配abc|123|ddd 正则表达式\xA9匹配? 不匹配anything 正则表达式src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\')匹配src="../images/image.jpg" | src="http://domain.com/images/image.jpg" | src='d:\w 不匹配src="../images/image.tif" | src="cid:value" 正则表达式/\*[\d\D]*?\*/匹配/* my comment */ | /* my multiline comment */ | /* my nested comment */ 不匹配*/ anything here /* | anything between 2 seperate comments | \* *\ 正则表达式匹配 不匹配 |
EditPlus中用正则表达式重复行的问题
正则中不但有,而且更高级正则中默认是按'('出现的先后顺序给匹配串编号的比如'/(\w)(\d)/'会被编为1和2在正则中或替换串中可用\1和\2来调用它们(部分语言中替换串中调用用$1和$2)如果有必要的话,你还可以了解正则中的有名组
转载请注明出处51数据库 » word中使用正则表达式
打小就胖