一、概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
二、目的
三、符号
字符集合 | 说明 |
. | 小数点可以匹配除了换行符(\n)以外的任意一个字符 |
\w | 可以匹配任何一个字母或者数字或者下划线 |
\W | W大写,可以匹配任何一个字母或者数字或者下划线以外的字符 |
\s | 可以匹配空格、制表符、换页符等空白字符的其中任意一个 |
\S | S大写,可以匹配任何一个空白字符以外的字符 |
\d | 可以匹配任何一个 0~9 数字字符 |
\D | D大写,可以匹配任何一个非数字字符 |
定符 | 说明 |
{n} | 表达式固定重复n次,比如:"\w{2}" 相当于 "\w\w" |
{m, n} | 表达式尽可能重复n次,至少重复m次:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa" |
{m, } | 表达式尽可能的多匹配,至少重复m次:"\w\d{2,}"可以匹配 "a12","x456"... |
? | 表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1} |
+ | 表达式尽可能的多匹配,至少匹配1次,相当于 {1, } |
* | 表达式尽可能的多匹配,最少可以不匹配,相当于 {0, } |
边界条件 | 说明 |
^ | 当前位置必须是文本开始位置 |
$ | 当前位置必须是文本结束位置 |
\b | 当前位置的左右两侧,只能有一侧是字母数字或下划线 |
选择表达式 | 说明 |
| | 使用竖线 "|"分隔多段表达式,整个表达式可匹配其中任意一段 |
分组 | 说明 |
() | 分组 ( ) 用括号 ( ) 将其他表达式包含,可以使被包含的表达式组成一个整体,在被修饰匹配次数时,可作为整体被修饰。 另外,用括号包含的表达式,所匹配到的内容将单独作记录,匹配过程中或结束后可以被获取。 |
自定义字符集合 [ ] | 说明 |
[ ] | 用中括号 [ ] 包含多个字符,可以匹配所包含的字符中的任意一个。同样,每次只能匹配其中一个。 用中括号 [^ ] 包含多个字符,构成否定格式,可以匹配所包含的字符之外的任意一个字符。 |
转义符 | 说明 |
\a | 响铃符 = \x07 |
\f | 换页符 = \x0C |
\n | 换行符 = \x0A |
\r | 回车符 = \x0D |
\t | 制表符 = \x09 |
\v | 垂直制表符 = \x0B |
\e | ESC 符 = \x1B |
\x20 | 使用两位十六进制表示形式,可与该编号的字符匹配 |
\u002B | 使用四位十六进制表示形式,可与该编号的字符匹配 |
\x{20A060} | 使用任意位十六进制表示形式,可与该编号的字符匹配 |