码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2016-06-10 16:15:07      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

一、元字符

元字符是有特定含义的字符。

. 匹配除换行符外的任何字符 例如,可以匹配1,n,*,+,-
\w 匹配数字或字母或下划线或汉字

例如,\d\w\s,匹配第一个字符

是数字,第二个字符是数字/字母/

下划线或汉字,第三个字符是空白

的字符串

\s 匹配任意的空白符  
\d 匹配数字  
\b 匹配单词的开始或结束  例如,匹配单词\bOlive\b
^ 匹配字符串的开始(在集合中[^]表示不匹配的意思)

 例如,^\d\d\d$,匹配三个字符

都是数字的字符串

$ 匹配字符串的结束  

二、反义字符

符号 和谁相反 含义
\W \w 匹配任意不是数字、字母、下划线和汉字的字符
\S \s 匹配任意不是空白符的字符
\D \d 匹配任意不是数字的字符
\B \b 匹配任意不是单词的开头或结束
[^x] ^x 匹配任意除x外的字符
     

三、限定字符

限定字符用于重复匹配的次数。

* 重复0次或更多次
+ 重复一次或更多次
重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次

 

四、转义字符

在实际开发中,当需要匹配元字符时,需要将字符转移,例如,.转义为\.,\转义为\\。

五、字符分枝

字符分枝用于匹配有多种选择的情况,用“|”来分隔,例如,有的地方电话号码区号有3位,有的有4位,可以这样匹配:

\d{3}-\d{8}|\d{4}-\d{8}

六、常用正则表达式整理

1)只能输入数字:^[0-9]*$

2)只能输入n位数字:^\d{n}$

3)只能输入至少n位数字:^\d{n,}$

4)只能输入n~m位数字:^\d{n,m}$

5)只能输入0或非0开头的数字:^(0|[1-9])([0-9]*)$

6)只能输入有两位小数的正实数:^[0-9]\.[0-9]{2}$

7)只能输入有1~3位小数的正实数:^[0-9]\.[0-9]{1,3}$

8)只能输入非0的正整数:^[+]?[1-9][0-9]*$

9)只能输入非0的负整数:^[-][1-9][0-9]*$

10)只能输入长度为3的字符:^.{3}$

11)只能输入26个英文字符组成的字符串:^[A-Za-z]+$

12)只能输入数字或26个英文字母组成的字符串:^[0-9A-Za-z]+$

13)不能输入某些特殊字符:[^!@#$%^&*()]

14)只能输入汉字:^[\u4e00-\u9fa5]*$

15)验证邮箱:\w+((-w+)|(\.w+))*@[A-Za-z0-9]+((\.|-[A-Za-z0-9]+))*\.[A-Za-z0-9]+

技术分享

16)验证internetURL:^[A-Za-z]+:\/\/[^\s]+$

技术分享

17)验证座机电话号码:^(\d{3,4}-)?\d{7,8}$

18)验证手机号码:^(13|14|15|18)\d{9}$

19)验证身份证号(15或18位):^(\d{18}|\d{17}[x]|\d{15})$

 

推荐一个验证图形化分析正则表达式的网站:https://regexper.com/ 

 

正则表达式

标签:

原文地址:http://www.cnblogs.com/bluebirid/p/5573608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!