正则表达式是一种用于匹配文本模式的工具,它能够帮助我们在处理文本时更加高效地进行搜索、替换和验证操作。
1.基本符号介绍
符号 | 含义 |
---|---|
/ | 正则表达式描述开始和结束的标志 |
^ | 表示匹配文本的开头。例如,/^abc/ 表示匹配以 “abc” 开头的文本。 |
$ | 表示匹配文本的结尾。例如,/abc$/ 表示匹配以 “abc” 结尾的文本。 |
. | 表示匹配任意单个字符,不包括换行符。例如,/a.c/ 表示匹配以 “a” 开头,“c” 结尾,中间有任意一个字符的文本。 |
| | 表示或,可以用于匹配多个表达式中的任意一个。例如,/abc|def/ 表示匹配 “abc” 或 “def”。 |
[ ] | 表示字符集,用于匹配一组字符中的任意一个。例如,/[abc]/ 表示匹配字母 “a”、“b” 或 “c” 中的任意一个。 |
( ) | 表示分组,可以将一部分正则表达式放在括号中,并对它们进行分组匹配。例如,/(ab)+/ 表示匹配一或多个 “ab”。 |
? | 表示可选,用于匹配前面的字符或表达式出现零次或一次。例如,/a?b/ 表示匹配零个或一个 “a”,后面紧跟一个 “b”。 |
* | 表示零个或多个,用于匹配前面的字符或表达式出现零次或多次。例如,/ab*c/ 表示匹配一个 “a”,后面跟着零个或多个 “b”,最后紧跟一个 “c”。 |
+ | 表示一或多个,用于匹配前面的字符或表达式出现一次或多次。例如,/ab+c/ 表示匹配一个 “a”,后面跟着一个或多个 “b”,最后紧跟一个 “c”。 |
{ } | 表示重复次数,用于指定前面的字符或表达式重复出现的次数范围。例如,/ab{2,4}c/ 表示匹配一个 “a”,后面跟着两到四个 “b”,最后紧跟一个 “c”。 |
\ | 表示转义字符,用于将特殊字符转义为普通字符。例如,/a./ 表示匹配一个 “a”,后面跟着一个 “.”。 |
[ ^ ] | 表示不在字符集中,用于匹配不属于指定字符集中的任意字符。例如,/[^abc]/ 表示匹配除了 “a”、“b”、“c” 之外的任意字符。 |
[ - ] | 表示字符范围,用于匹配指定范围内的任意字符。例如,/[a-z]/ 表示匹配任意小写字母。 |
( | ) | 表示分组中的或,可以用于匹配分组中的任意一个表达式。例如,/(ab|cd)/ 表示匹配 “ab” 或 “cd”。 |
(?: ) | 表示分组非捕获,例如,/((?:abc)+d) /捕获abcd或者abcabcd等,不会捕获abc。 |
(更多例子参考极客笔记/正则表达式教程)
2.转义符号
符号 | 含义 |
---|---|
\w | 匹配单词字符:字母、数字或者下划线[a-zA-Z0-9_] |
\W | 匹配非字词 |
\b | 字词和非字词字符之间的界限 |
\s | 匹配单个空格字符:空格,换行符,返回,制表符 |
\S | 匹配任何非单词字符 |
\t,\n,\r | 制表符,换行符,退格符 |
\d | 十进制数字:[0-9] |
\D | 非十进制数字:[^0-9] |
\ | 转义符号 |
(更多高级用法参考Python正则表达式大全)