一些常见正则表达式


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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值