常用的正则表达式

来源:互联网 发布:动漫资讯网站知乎 编辑:程序博客网 时间:2024/06/10 18:14

日常工作中经常会遇到的一些验证、匹配、替换等字符串操作都会用到一些常用的正则表达式,如果要用的时候才去构造则会浪费不少时间,所以这里收集了一些常用的,方便日后工作的需要。

用途

正则表达式

例子

备注

非负整数^/d+$        
^[1-9]/d*|0$
0, 1, 2正整数 + 0正整数^[0-9]*[1-9][0-9]*$        
^[1-9]/d*$
1, 2, 3非正整数^((-/d+)|(0+))$        
^-[1-9]/d*|0$
0, -1, -2负整数 + 0负整数^-[0-9]*[1-9][0-9]*$        
^-[1-9]/d*$
整数^-?/d+$        
^-?[1-9]/d*$
非负浮点数^/d+(/./d+)?$        
^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$
正浮点数 + 0正浮点数^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$        
^[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$
负浮点数 + 0负浮点数^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$        
^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$
浮点数^(-?/d+)(/./d+)?$        
^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$
英文^[A-Za-z]+$大写英文^[A-Z]+$小写英文^[a-z]+$英文和数字^[A-Za-z0-9]+$英文、数字和下划线^/w+$Email地址^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$        
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$         
/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
URL^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$        
[a-zA-z]+://[^/s]*
年-月-日^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$月/日/年^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$电话号码(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?        
/d{3}-/d{8}|/d{4}-/d{7}         
(/d{3}-|/d{4}-)?(/d{8}|/d{7})?
0511-4405222 或 021-87888822IP地址^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$        
/d+/./d+/./d+/./d+
中文[/u4e00-/u9fa5]全角字符[^uFF00-uFFFF]双字节字符[^/x00-/xff]包括汉字在内        
可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
空白行/n[/s| ]*/r        
/n/s*/r
可以用来删除空白行HTML标记<(.*)>.*<///1>|<(.*) //>        
< (/S*?)[^>]*>.*?<//1>|<.*? />
网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力首尾空白字符(^/s*)|(/s*$)        
^/s*|/s*$
可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式帐号^[a-zA-Z][a-zA-Z0-9_]{4,15}$字母开头,允许5-16字节,允许字母数字下划线腾讯QQ号[1-9][0-9]{4,}        
^[1-9]*[1-9][0-9]*$
腾讯QQ号从10000开始邮政编码[1-9]/d{5}(?!/d)身份证/d{15}|/d{18}中国的身份证为15位或18位