基础符号是正则表达式的核心,帮助我们匹配各种模式。
.
匹配任意单个字符(除了换行符)。
/a.b/
可以匹配字符串 "acb"
、"a1b"
,但不能匹配 "ab"
。*
匹配前面的字符或分组,零次或多次。
/ab*/
可以匹配 "a"
、"ab"
、"abb"
,但不能匹配 "b"
。+
匹配前面的字符或分组,至少一次。
/ab+/
可以匹配 "ab"
、"abb"
,但不能匹配 "a"
或 "b"
。?
匹配前面的字符或分组,零次或一次(表示可选项)。
/ab?/
可以匹配 "a"
或 "ab"
,但不能匹配 "b"
。{}
指定前面字符或分组的重复次数。
{n}
:恰好出现 n 次。
/a{3}/
可以匹配 "aaa"
,但不能匹配 "aa"
或 "aaaa"
。{n,}
:至少出现 n 次。
/a{2,}/
可以匹配 "aa"
、"aaa"
、"aaaa"
,但不能匹配 "a"
。{n,m}
:出现 n 到 m 次之间。
/a{1,3}/
可以匹配 "a"
、"aa"
、"aaa"
,但不能匹配 "aaaa"
。^
匹配字符串的开头。
/^a/
可以匹配 "apple"
,但不能匹配 "banana"
。$
匹配字符串的结尾。
/b$/
可以匹配 "cab"
,但不能匹配 "abc"
。\d
匹配任意一个数字字符(等价于 [0-9]
)。
/\d{2}/
可以匹配 "12"
、"45"
,但不能匹配 "a1"
。\D
匹配任意一个非数字字符。
/\D+/
可以匹配 "abc"
、"!@#"
,但不能匹配 "123"
。\w
匹配任意一个字母数字字符或下划线(等价于 [a-zA-Z0-9_]
)。
/\w{3}/
可以匹配 "abc"
、"1a_"
,但不能匹配 "!"
。\W
匹配任意一个非字母数字字符或下划线。
/\W+/
可以匹配 "!"
、"@#"
,但不能匹配 "abc123"
。\s
匹配任意空白字符(如空格、制表符等)。
/\s+/
可以匹配 " "
、"\t"
,但不能匹配 "abc"
。\S
匹配任意非空白字符。
/\S+/
可以匹配 "abc"
、"123"
,但不能匹配 " "
。\b
匹配单词边界,确保单词的完整性。
/\bboy\b/
可以匹配 "boy"
,但不能匹配 "boyish"
。|
表示“或”的关系,可以用于匹配多个选项。
/cat|dog/
可以匹配 "cat"
或 "dog"
。