vim 版
说明:
/d 代表 [0-9]
/l 代表 [a-z]
/u 代表 [A-Z]
/a 代表 [A-Za-z]
/w 代表 [A-Za-z0-9_]
匹配中文字符:
[//u4e00-//u9fa5]
说明:貌似 vim 中这个不好使 :(
匹配双字节字符(包括汉字在内):
[^/x00-/xff]
匹配空白行的正则表达式:
/n/s*/r
匹配 HTML 标记的正则表达式:
<(/S*?)[^>]*>.*?<//1>/|<.*? />
说明:仅能匹配一部分,对于复杂的嵌套标记无能为力
匹配首尾空白字符的正则表达式:
首 ^/s*
尾 /s*$
匹配Email地址的正则表达式:
/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 或者 [/w-]/+(/.[/w-]/+)*@[/w-]/+(/.[/w-]/+)/+
匹配网址URL的正则表达式:
/(/l/|/u/)/+://[^/s]* 或者 /(/l/|/u/)/+://(/w/+(-/w/+)*)(/.(/w/+(-/w/+)*))*(/?/S*)?
匹配帐号是否合法(字母开头,5-16字节,允许字母数字下划线):
/(/l/|/u/)/w/{4,15}
匹配国内固定电话号码:
/d/{3,4}-/d/{7,8}
匹配腾讯QQ号:
[1-9]/d/{4,}
说明:腾讯 QQ 号从 10000 开始
匹配国内邮政编码:
[1-9]/d/{5}(?!/d)
匹配身份证号:
/d/{15}/|/d/{18}/|/d/{17}[xX]
匹配ip地址:
/d+/./d+/./d+/./d+
匹配特定数字(这里全不允许 0 打头,如果允许的话,需要调整一下):
非负整数 [1-9]/d*/|0
正整数 [1-9]/d*
非正整数 -[1-9]/d*/|0
负整数 -[1-9]/d*
整数 -?[1-9]/d*
非负浮点数 /d/+(/./d/+)? 或者 [1-9]/d*/./d*/|0/./d*[1-9]/d*/|0?/.0+/|0
正浮点数 ((/d/+/./d*[1-9]/d*)/|(/d*[1-9]/d*/./d/+)/|(/d*[1-9]/d*)) 或者 [1-9]/d*/./d*/|0/./d*[1-9]/d*
非正浮点数 ((-/d/+(/./d/+)?)/|(0/+(/.0/+)?)) 或者 (-([1-9]/d*/./d*/|0/./d*[1-9]/d*))/|0?/.0+/|0
负浮点数 (-((/d/+/./d*[1-9]/d*)/|(/d*[1-9]/d*/./d/+)/|(/d*[1-9]/d*))) 或者 -([1-9]/d*/./d*/|0/./d*[1-9]/d*)
浮点数 (-?/d/+)(/./d/+)? 或者 -?([1-9]/d*/./d*/|0/./d*[1-9]/d*/|0?/.0+/|0)
匹配特定字符串:
由英文字母组成的字符串 /a/+
由大写英文字母组成的字符串 /u/+
由小写英文字母组成的字符串 /l/+
由数字和英文字母组成的字符串 /(/l/|/u/|/d/)/+
由数字、英文字母和下划线组成的字符串 /w/+
特殊匹配(前跟某模式,后跟某模式,前不跟某模式,后不跟某模式)
后跟bar的foo foo/(bar/)/@=
后不跟bar的foo foo/(bar/)/@!
前跟bar的foo /(bar/)/@<=foo
前不跟bar的foo /(bar/)/@<!foo