其实正则表达式只要记住他的几个特殊符号加之练习即可:
关键字符
^ -> 以什么为开始的字符串 例:"^abc"表示以abc开始行的字符串;
$ -> 以什么为结束的字符串 例:"abc$"表示以abc结束行的字符串;| -> 零个或若干个重复字符出现 例:"^(a|b)"表示a或者b开始的字符串;
. -> 任何字符 例:"a.(\d)"表示一个a后跟着任意字符和一个数字
[] -> 某些字符的集合 例:"[a-zA-z]"表示一个任意大小字母
以上特殊字符任意可组合:“^((a|b).[A-Z])”表示以a或者b后面跟着一个任意字符和一个大写字母的字符串
个数限制
* -> 表示0个或者多个字符 例:"ab*":表示一个字符串有一个a后面跟着零个或若干个b
+ -> 至少一个字符 例:"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多
? -> 零个或者一个字符 例:"a?b+":表示一个字符串有零个或者一个a后面跟着至少一个b或者更多
另外还可以用{n}、{0,}、{0,n}用于字符长度限制
例:"^[a-z]{3}"表示以三个小写字母开始的字符串
常用字符串
[a-z]:小写字母
[A-Z]:大写字母
[0-9]:数字也可以用(\d)表示
(\w):数字、字母和下划线
[\u4E00-\u9FA5]:网上说是中文字符集的范围
做了一个判断电话好麻的小DEMO