正则表达式速查表
这是一个正则表达式(Regular Expression,简称Regex)的速查表,它列出了正则表达式中常用的符号、量词、字符类、特殊字符、分组和断言的用法。
正则表达式基础
^
:匹配字符串的开始位置。$
:匹配字符串的结束位置。.
:匹配除换行符之外的任意单个字符。|
:用于匹配特定的字符或字符组,例如a|b
可以匹配a
或b
。\
:用于转义特殊字符,使其失去特殊意义,被当作普通字符处理。a
:匹配字符a
。ab
:匹配字符串ab
。
量词
*
:匹配前一个字符0次或多次。?
:匹配前一个字符0次或1次。+
:匹配前一个字符1次或多次。{5}
:精确匹配前一个字符5次。{5,}
:匹配前一个字符至少5次。{5,10}
:匹配前一个字符至少5次,但不超过10次。
字符类
\s
:匹配任何空白字符,包括空格、制表符、换行符等。\S
:匹配任何非空白字符。\w
:匹配任何字母数字字符,包括下划线。\W
:匹配任何非字母数字字符。\d
:匹配任何数字字符。\D
:匹配任何非数字字符。[\b]
:匹配退格字符。\c
:匹配控制字符。
特殊字符
\n
:匹配换行符。\t
:匹配制表符。\r
:匹配回车符。\ZZZ
:匹配八进制表示的字符。\xZZ
:匹配十六进制表示的字符。\0
:匹配空字符。\v
:匹配垂直制表符。
分组
(xyz)
:将字符组合为一个组,用于后续的引用或操作。(?:xyz)
:非捕获组,用于分组但不保存匹配的内容。[xyz]
:匹配方括号内的任一字符。[^xyz]
:匹配不在方括号内的任一字符。[a-q]
:匹配指定范围内的任一字符。[0-7]
:匹配指定范围内的数字。
字符串替换
$`
:在匹配的字符串之前插入。$'
:在匹配的字符串之后插入。$+
:插入最后一次匹配的内容。$&
:插入整个匹配的内容。$n
:插入第n个捕获组的内容。
断言
(?=xyz)
:正向前瞻,匹配后面跟有xyz的位置。(?!xyz)
:负向前瞻,匹配后面不跟有xyz的位置。?!
或?<!
:负向后顾。\b
:单词边界,匹配位于单词字符和非单词字符之间的位置。?#
:注释,用于正则表达式中的注释。
这些符号和结构是构建和理解正则表达式的基础,它们可以用来创建复杂的模式匹配和文本处理规则。