一些常见正则表达式


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、付费专栏及课程。

余额充值