一些常见正则表达式

\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

 

 

 

实际应用中的示例:

"^[2-9][0-9][0-9][0-9][0-9][0-9]$" //YYYYMM 的日期验证

"/^[A-Za-z0-9]+$/"         //只能为数字和字母

"/^[\w\-]+$/"                 //只能为字母,数字,_,-

"/^[0-9]+([.]{1}[0-9]{1,2})?$/"    //金额验证

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值