`
wangangie32
  • 浏览: 38116 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

常用的正则表达式

 
阅读更多

  日常工作中经常会遇到的一些验证、匹配、替换等字符串操作都会用到一些常用的正则表达式,如果要用的时候才去构造则会浪费不少时间,所以这里收集了一些常用的,方便日后工作的需要。 用途 正则表达式 例子 备注 非负整数 ^\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+$   
  中文、英文、数字及下划线 ^[\u4e00-\u9fa5_a-zA-Z0-9]+$   
  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]* 
  ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$   
  年-月-日 ^(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})? 
  ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 
  ^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}- )?[1-9]\d{6,7}(\-\d{1,4})?$ 0511-4405222 或 021-87888822  
  手机号码 ^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$   
  电话区号 ^0\d{2,3}$   
  IP地址 ^(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标记 .*| 
  ]*>.*?|  网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 
  首尾空白字符 (^\s*)|(\s*$) 
  ^\s*|\s*$  可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 
  帐号 ^[a-zA-Z][a-zA-Z0-9_]{4,15}$  字母开头,允许5-16字节,允许字母数字下划线 
  密码 ^[a-zA-Z]\w{5,17}$  字母开头,长度在6~18之间,只能包含字符、数字和下划线 
  腾讯QQ号 [1-9][0-9]{4,} 
  ^[1-9]*[1-9][0-9]*$  腾讯QQ号从10000开始 
  邮政编码 [1-9]\d{5}(?!\d)   
  身份证 ^\d{15}|\d{18}|\d{17}[xX]{1}$  中国的身份证为15位或18位 
  数字 ^[0-9]*$   
  n位的数字 ^\d{n}$   
  至少n位的数字 ^\d{n,}$   
  m~n位的数字 ^\d{m,n}$   
  零和非零开头的数字 ^(0|[1-9][0-9]*)$   
  有两位小数的正实数 ^[0-9]+(.[0-9]{2})?$   
  有1~3位小数的正实数 ^[0-9]+(.[0-9]{1,3})?$   
  非零的正整数 ^\+?[1-9][0-9]*$   
  非零的负整数 ^\-[1-9][]0-9"*$   
  长度为3的字符 ^.{3}$   
  含有^%&’,;=?$\"等字符 [^%&’,;=?$\x22]+   
  12个月 ^(0?[1-9]|1[0-2])$   
  31天 ^((0?[1-9])|((1|2)[0-9])|30|31)$   
  SQL语句 ^(select|drop|delete|create|update|insert).*$   
  25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 
  26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
  27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 
  28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+) 
  29、提取信息中的中国手机号码:(86)*0*13\d{9} 
  30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 
  31、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14} 
  32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5} 
  33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+ 
  34、提取信息中的任何数字:(-?\d*)(\.\d+)?                                                                      参考:
  正则表达式30分钟入门教程
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics