以下是一些比较有用的正则表达式:
^[ \t]*\n ^[\s]*\r\n emeditor
这个正则表达式代表所有的空行,指含有零个或零个以上空格或制表符、以换行符结尾、不含其它字符的行。
(^|(?<=中国)).*?(?=中国|$)
用正则表达式匹配特定字符串外的所有字符。指除“中国”外的所有其它字符,类似于反选功能。
^[ \t]+
查找以上字符,并替换为空,可删除行首空白(包括全半角空格和制表符)。
^[ \t]+$
查找以上字符,并替换为空,可删除行末空白(包括全半角空格和制表符)。
^[ \t]+|[ \t]+$
查找以上正则表达式,并替换为空,可删除行首和行末所有空白(包括全半角空格和制表符)。
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:< (\S*?)[^>]*>.*?|< .*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式
^.*John.*$
匹配包括“John”的整行。
其语法请参考EmEditor中的帮助
EmEditor Help - How to - Search-Regular Expression Syntax
\s*。\r\n --查询以。+向下的箭头结束的内容
.*?/p> --以?/p>结束的一行内容
EmEditor替换行首行尾
行首:^ 行尾:$
选择正则表达式
2,删除空行
空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。直接在”查找”中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。用‘’替换 ^[ \t]*\n 即可
3,多行合并用 ” 替换 \n
4,选择列:alt + 选取
5,非数字:[^0-9] 。 除去空格,/,之外的非数字:[^(0-9|\s|/)] “|”表示或。 \s表示:任一空白字符,包括空格、制表符、换页符、回车符和垂直制表符
6, 全半角、首字母大写:选中文字 – 编辑 – 高级…
7,任意字符 .*
.*:匹配任意字符
.匹配除了换行符(\n)以外的任意一个字符
*修饰匹配次数为 0 次或任意次
\w:任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
+表达式至少出现1次
\w+ 至少一个字母或数字或下划线
注:.* 匹配”sdf” 时会返回匹配的”sdf”,但对于单独的一个”s”,.*也是满足的,那为何
不返回”s”呢,原因在于正则表达式默认匹配最大数,即贪婪模式
若想返回最小数,即蝴蝶贪婪模式,要在修饰匹配次数的特殊符号后再加上一个 “?” 号即可如:.*?即返回单个字母
修饰匹配次数的符号:
* 表达式不出现或出现任意次,相当于 {0,},比如:”\^*b”可以匹配 “b”,”^^^b”…
? 匹配表达式0次或者1次,相当于 {0,1},比如:”a[cd]?”可以匹配 “a”,”ac”,”ad”
+ 表达式至少出现1次,相当于 {1,},比如:”a+b”可以匹配 “ab”,”aab”,”aaab”…
{n} 表达式重复n次,比如:”\w{2}” 相当于 “\w\w”;”a{5}” 相当于 “aaaaa”
{m,n}表达式至少重复m次,最多重复n次,比如:”ba{1,3}”可以匹配 “ba”或”baa”或”baaa”
{m,}表达式至少重复m次,比如:”\w\d{2,}”可以匹配 “a12″,”_456″,”M12344″…
本文转自孤舟夜航之家博客51CTO博客,原文链接http://blog.51cto.com/cysky/1093267如需转载请自行联系原作者
cysky