正则表达式的语法总结
正则表达式的语法因不同的编程语言或工具而略有差异,但基本的结构和概念是相似的。下面是一个正则表达式的基本语法概述:
字符类
.
:匹配除了换行符之外的任何单个字符。
[abc]
:匹配方括号中的任何一个字符。例如,[aeiou]
匹配任何元音字母。
[^abc]
:匹配不在方括号中的任何字符。例如,[^aeiou]
匹配任何非元音字母。
[a-z]
:匹配任何小写字母。
[A-Z]
:匹配任何大写字母。
[a-zA-Z]
:匹配任何字母。
[0-9]
:匹配任何数字。
\d
:匹配任何数字,等同于 [0-9]
。
\D
:匹配任何非数字字符。
\s
:匹配任何空白字符,包括空格、制表符、换页符等。
\S
:匹配任何非空白字符。
\w
:匹配任何单词字符,等同于 [a-zA-Z0-9_]
。
\W
:匹配任何非单词字符。
锚点
^
:匹配输入字符串的开始位置。
$
:匹配输入字符串的结束位置。
\b
:匹配一个单词边界。
\B
:匹配非单词边界。
量词
*
:匹配前面的子表达式零次或多次。
+
:匹配前面的子表达式一次或多次。
?
:匹配前面的子表达式零次或一次。
{n}
:匹配前面的子表达式恰好 n 次。
{n,}
:匹配前面的子表达式至少 n 次。
{n,m}
:匹配前面的子表达式至少 n 次,但不超过 m 次。
分组和捕获
(...)
:将括号内的模式组合为一个整体,并捕获匹配的文本。
(?:...)
:非捕获分组,只组合模式但不捕获匹配的文本。
(?=...)
:正向前瞻断言,确保接下来的字符与模式匹配,但不捕获匹配的文本。
(?!...)
:负向前瞻断言,确保接下来的字符与模式不匹配。
选择
|
:匹配前面的子表达式或后面的子表达式。
字符集
在正则表达式中,[]
(方括号)用于定义一个字符集(也称