正则表达式复习二——元字符
元字符
元字符在正则表达式中扮演着重要的角色,通过组合使用它们,能构建复杂的模式来匹配和处理文本。
序号 | 字符 | 含义 | 实例 |
---|---|---|---|
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 匹配一个换行符 |
欢迎写出你的看法,一起成长!