基本概念
元字符
.婚配除换行符之外的恣意字符
\w婚配字母或数字或下划线或汉字
\s婚配恣意的空白符
\d婚配数字
\b婚配单词的最先或完毕
^婚配字符串的最先
$婚配字符串的完毕
示例:
(1) \ba\w\b 婚配以字母a开首的单词——先是某个单词最先处(\b),然后是字母a,然后是恣意数目的字母或数字(\w),末了是单词完毕处(\b)
(2) \d+婚配1个或更多一连的数字
(3) \b\w{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) 0\d{2}-\d{8}|0\d{3}-\d{7} 0最先两个数字,然后-,然后是8个数字;或许0最先以后三个数字,然后-,然后是7个数字
(2) \(?0\d{2}\)?[- ]?\d{8}|0\d{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]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) 邃密的婚配IP地点,运用()
和|
组合
反义
\W 婚配恣意不是字母,数字,下划线,汉字的字符
\S 婚配恣意不是空白符的字符
\D 婚配恣意非数字的字符
\B 婚配不是单词开首或完毕的位置
[^x]婚配除了x之外的恣意字符
[^aeiou]婚配除了aeiou这几个字母之外的恣意字符
罕见正则表达式
身份证 /(^\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+)?$ 只能输入实数