基本概念
摘自http://deerchao.net/tutorials/regex/regex.htm#negation
元字符
.匹配除换行符以外的任意字符
w匹配字母或数字或下划线或汉字
s匹配任意的空白符
d匹配数字
b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束 示例:
(1) bawb 匹配以字母a开头的单词——先是某个单词开始处(b),然后是字母a,然后是任意数量的字母或数字(w),最后是单词结束处(b) (2) d+匹配1个或更多连续的数字 (3) bw{6}b 匹配刚好6个字符的单词。 (4) ^d{5,12}$ 匹配有5到12个字符的QQ
重复信息,表示0个到多个字符
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
字符类,表示一个字符
[0-9]表示一个0到9的数字,和d 同义
[a-z0-9A-Z_]表示一个数字或者大小写字母或者_
(?0d{2}[)-]?d{8}表示0个或者1个( ,接着是一个0 ,接着是两个数字,接着是0个或者1个) 或者- ,最后是8个数字
分枝条件 |
匹配原理,从左至右,匹配成功之后就不会往后匹配 (1) 0d{2}-d{8}|0d{3}-d{7} 0开始两个数字,然后-,然后是8个数字;或者0开始之后三个数字,然后-,然后是7个数字 (2) (?0d{2})?[- ]?d{8}|0d{2}[-]?d{8} 以0个或者1个( 开始,然后是一个0,然后是两个数字,然后是0个或者1个) ,然后是8个数字;或者0开始,然后是两个数字,然后是0个或者1个-,然后是8个数字 (3) d{5}-d{4}|d{5}
分组 ()
(1) (d{1,3}.){3}d{1,3} 粗略的匹配IP地址,首先1-3个数字加. 重复三次,然后是1-3个数字 (2) ((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?) 精细的匹配IP地址,使用() 和| 组合
反义
常见正则表达式
身份证 /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
邮件 /^w+([.-]?w+)@w+([.-]?w+)(.w{2,3})+$/
邮件二 /^(w)+(.w+)*@(w)+((.w+)+)$/;
^(0|1-9*)$ 只能输入0和非0打头的数字
^[-+]?d+(.d+)?$ 只能输入实数
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|