Open 499689317 opened 4 years ago
\d:即digit,表示匹配的字符为数字,如\d+可以匹配至少1个数字 \w:即world,表示匹配的字符为常用字符(数字,下划线,字母),如\w+可以匹配至少1个常用字符 \s:即space,表示匹配空格(空格键,Tab键,回车键打出来的空格),如\s+可以匹配至少1个空格字符
\d
\d+
\w
\w+
\s
\s+
\D
\W
\S
// \d试例 /\d+/.test("123456789");// 返回结果true /\d+/.exec("123456789");// 返回结果"123456789" // \w试例 /\w+/.test("123_mdh");// true /\w+/.exec("123_mdh");// "123_mdh" // \s试例 /\s+/.test(" ");// true
.:占位符,即.表示可以匹配任意字符 /.+/.test("abc_111");//true
.
/.+/.test("abc_111");//true
+:表示匹配+前面字符串对应字符或子表达式至少1次,如\d+等价于\d{1,},/abc+d/可以匹配abcd, abccd **:表示匹配前面字符串对应字符或子表达式x次(x>=0),如\w*等价于\w{0,},/abc*d/可以匹配abd, abcd ?:表示匹配?前面字符串对应字符或子表达式0次或者1次,如\s?等价于\s{0,1}, /abc?c/可以匹配abd, abcd {n,m}**:表示匹配对应模板x次(n<=x<=m)
+
\d{1,}
/abc+d/
abcd, abccd
*
x>=0
\w*
\w{0,}
/abc*d/
abd, abcd
?
\s?
\s{0,1}
/abc?c/
{n,m}
n<=x<=m
[]:表示此次匹配的范围为[]内部例举的字符 ():表示此次匹配的字符为()内的一个整体 |:表示或关系,经常会与()连用 [^]:表示不在[]范围内的字符,与[]相反 // []与() /[1-9](aabbcc){1,8}/.test("a234aabbcc89");// true /[1-9]|(aabbcc){1,8}/.test("aabbcc123");// true // []内的字符就表示字符本身 /aabbcc[.]{1,8}/.test("aabbcc.");// true
[]:表示此次匹配的范围为[]内部例举的字符 ():表示此次匹配的字符为()内的一个整体 |:表示或关系,经常会与()连用 [^]:表示不在[]范围内的字符,与[]相反
[]
()
|
[^]
// []与() /[1-9](aabbcc){1,8}/.test("a234aabbcc89");// true /[1-9]|(aabbcc){1,8}/.test("aabbcc123");// true // []内的字符就表示字符本身 /aabbcc[.]{1,8}/.test("aabbcc.");// true
?:当?跟在与匹配次数相关的元字符后时表示当前的匹配为非贪婪匹配
正则相关概念
正则常用模板
\d
,\w
,\s
表示匹配相应字符,使用大写\D
,\W
,\S
匹配相反字符,即大写模板可以匹配小写模板无法匹配的字符正则匹配次数
正则匹配范围
贪婪匹配与非贪婪匹配