标签:
一、元字符
元字符是有特定含义的字符。
. | 匹配除换行符外的任何字符 | 例如,可以匹配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