普通字符:
- 匹配
"a"
将匹配文本中的"a"
字符: 示例:a
匹配"a"
元字符:
-
\d
匹配 任意数字字符 等价于[0-9]
: 示例:\d
匹配"1"
-
\D
匹配一个非数字字符 等价于[^0-9]
-
\w
匹配 任意字母数字字符: 示例:\w
匹配"a"
-
.
匹配 任意字符(除了换行符): 示例:.
匹配"x"
量词:
-
*
:匹配前面的模式 0次或多次: 示例:a*
匹配""
,"a"
,"aa"
,zo*
能匹配"z"
以及"zoo"
。 -
+
:匹配前面的模式 1次或多次: 示例:a+
匹配"a"
,"aa"
,zo+
能匹配"zo"
以及"zoo"
,但不能匹配"z"
-
?
:匹配前面的模式 0次或一次: 示例:a?
匹配""
,"a"
-
{n}
:匹配前面的模式 恰好 n 次: 示例:a{2}
匹配"aa"
-
{n,}
:匹配前面的模式 至少 n 次: 示例:a{2,}
匹配"aa"
,"aaa"
-
{n,m}
:匹配前面的模式 至少 n 次且不超过 m 次 (n <= m): 示例:a{2,3}
匹配"aa"
,"aaa"
字符类:
-
[ ]
:匹配括号内的 任意一个字符: 示例: 例如[aeiou]
匹配字符串"google runoob taobao"
中所有的e o u a
字母。 -
[^ ]
:匹配 除了括号内的字符以外的任意一个字符: 示例:[^aeiou]
匹配字符串"google runoob taobao"
中除了e o u a
字母的所有字符
边界匹配:
-
^
:匹配 字符串的开头: 示例:^a
匹配"a"
在"abcd"
的开头 -
$
:匹配 字符串的结尾: 示例:a$
匹配"a"
在"abcda"
的结尾 -
\b
:匹配 匹配一个单词边界,也就是指单词和空格间的位置: 示例:'er\b'
可以匹配"never"
中的'er'
,但不能匹配"verb"
中的'er'
-
\B
:匹配 匹配非单词边界: 示例:'er\B'
能匹配"verb"
中的'er'
,但不能匹配"never"
中的'er'
分组和捕获:
-
( )
:用于 分组和捕获子表达式: 示例:(a)b
捕获"a"
并匹配"ab"
-
(?: )
:用于 分组但不捕获子表达式: 示例:(?:a)b
匹配"ab"
但不会捕获"a"
特殊字符:
-
\
:转义字符,用于匹配 特殊字符本身: 示例:\\
匹配"\"
-
.
:匹配 任意字符(换行符(\n、\r)) 相等于[^\n\r]
: 示例:.
已在元字符中给出 -
|
:用于 指定多个模式的选择: 示例:a|b
匹配"a"
或"b"
常用
-
[A-Z]
: 表示一个区间,匹配 所有大写字母 -
[a-z]
: 表示 所有小写字母。 -
[\s\S]
: 表示匹配所有。\s
是匹配所有空白符,包括换行,\S
非空白符(不包括换行)。 -
\w
: 匹配字母、数字、下划线。等价于[A-Za-z0-9_]
-
\d
: 匹配任意一个阿拉伯数字(0 到 9)。等价于[0-9]
^[a-zA-Z0-9_-]{3,15}$
^
表示匹配字符串的开头[a-zA-Z0-9_-]
表示字符集,包含小写字母、大写字母、数字、下划线和连接字符 -{3,15}
表示前面的字符集最少出现 3 次,最多出现 15 次,从而限制了用户名的长度在 3 到 15 个字符之间$
表示匹配字符串的结尾