正则表达式复习二——元字符
元字符
元字符在正则表达式中扮演着重要的角色,通过组合使用它们,能构建复杂的模式来匹配和处理文本。
| 序号 | 字符 | 含义 | 实例 |
|---|---|---|---|
| 1 | . |
匹配除换行符以外的任意单个字符 | a.b 能匹配 "aab"、"axb",但不匹配 "a\nb" |
| 2 | ^ |
匹配字符串的开头 | ^abc 能匹配 "abc",但不匹配 "aabc" |
| 3 | $ |
匹配字符串的结尾 | abc$ 能匹配 "abc",但不匹配 "abcc" |
| 4 | \b |
匹配单词的边界 | er\b 能匹配 "never" 中的 "er",但不能匹配 "verb" 中的 "er" |
| 5 | \B |
匹配非单词的边界 | er\B 能匹配 "verb" 中的 "er",但不能匹配 "never" 中的 "er" |
| 6 | \f |
匹配一个换页符 | 等价于 \x0c 和 \cL |
| 7 | \n |
匹配一个换行符 | 等价于 \x0a 和 \cJ |
| 8 | \r |
匹配一个回车符 | 等价于 \x0d 和 \cM |
| 9 | \d |
匹配任意一个阿拉伯数字(0 到 9) | 等价于 [0-9] |
| 10 | \D |
匹配一个非数字字符 | 等价于 [^0-9] |
| 11 | \w |
匹配字母、数字、下划线 | 等价于 [A-Za-z0-9_] |
| 12 | \W |
匹配非字母、数字、下划线 | [^A-Za-z0-9_] |
| 13 | \s |
匹配所有空白符,包括换行、制表符、换页符 | 等价于 [\f\n\r\t\v] |
| 14 | \S |
匹配非空白符,不包括换行 | [^\f\n\r\t\v] |
| 15 | [\s\S] |
匹配所有字符 | |
| 16 | * |
匹配前一个字符零次或多次 | ab*c 能匹配 "ac"、"abc"、"abbc" |
| 17 | + |
匹配前一个字符一次或多次 | 匹配前一个字符一次或多次 |
| 18 | ? |
匹配前一个字符零次或一次 | ab?c 能匹配 "ac"、"abc",但不匹配 "abbc" |
| 19 | {n} |
匹配前一个字符恰好 n 次 |
o{2} 不能匹配 "Bob" 中的 o,但是能匹配 "food" 中的两个 o。 |
| 20 | {n,} |
匹配前一个字符至少 n 次 |
o{2,} 不能匹配 "Bob" 中的 o,但能匹配 "foooood" 中的所有 o。o{1,} 等价于 o+。o{0,} 则等价于 o* |
| 21 | {n,m} |
匹配前一个字符至少 n 次,但不超过 m 次,逗号前后不能有空格 |
o{1,3} 将匹配 "fooooood" 中的前三个 o。o{0,1} 等价于 o? |
| 22 | [] |
匹配所包含的任意一个字符 | [abc] 能匹配 "plain" 中的 a |
| 23 | [^] |
匹配所包含的任意一个字符以外的字符 | [^abc] 能匹配 "plain" 中的 p、l、i、n |
| 24 | [-] |
匹配指定范围内的任意字符 | [a-z] 能匹配 a 到 z 范围内的任意小写字母字符 |
| 25 | ` | ` | 匹配竖线两侧的任意一个 |
| 26 | () |
用于创建分组,并允许对分组应用量词 | (abc)+ 能匹配 "abc"、"abcabc",不匹配 "ab" |
| 27 | \ |
用于转义下一个字符,取消其特殊含义 | n 匹配字符 "n"。\n 匹配一个换行符 |
欢迎写出你的看法,一起成长!

浙公网安备 33010602011771号