正则表达式基本使用

基础 1.1 字符匹配 字符 说明 \ 转义符 \d [0-9]。表示是一位数字。 \D [^0-9]。表示除数字外的任意字符。 \w [0-9a-zA-Z_]。表示数字、大小写字母和下划线。 \W [^0-9a-za-z_]。非单词字符。 \s [\t\v\n\r\f]。表示空白符,包括空格、水平制表符、 垂直制表符、换行符、回车符、换页符。 \S [^\t\v\n\r\f]。非空白符。 . [^\n\r\u2028\u2029]。通配符,表示几乎任意字符。 换行符、回车符、行分隔符和段分隔符除外。 \uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。 \f 匹配一个换页符 (U+000C)。 \n 匹配一个换行符 (U+000A)。 \r 匹配一个回车符 (U+000D)。 \t 匹配一个水平制表符 (U+0009)。 \v 匹配一个垂直制表符 (U+000B)。 \0 匹配 NULL(U+0000)字符, 不要在这后面跟其它小数,因为 \0 是一个 八进制转义序列。 [\b] 匹配一个退格(U+0008)。(不要和\b 混淆了。) [abc] any of a, b, or c [^abc] not a, b, or c [a-g] character between a & g 1.2 位置匹配 字符 说明 \b 是单词边界,具体就是\w 和\W 之间的位置,也包括\w 和 ^ 之间的位置, 也包括\w 和 之间的位置。 \B 是\b 的反面的意思,非单词边界。例如在字符串中所有位置中,扣掉\b, 剩下的都是\B 的。 ^abc$ 字符串开始、结束的位置 1.3 组 字符 说明 (abc) capture group,捕获组 \n backreference to group #n,分组引用,引用第 n 个捕获组匹配的内容, 其中 n 是正整数 (?:abc) non-capturing group,非捕获组 1.4 先行断言 字符 说明 a(?=b) positive lookahead,先行断言,a 只有在 b 前面才匹配 a(?!b) negative lookahead,先行否定断言,a 只有不在 b 前面才匹配 1.5 后行断言 字符 说明 (?<=b)a positive lookbehind,后行断言,a 只有在 b 后面才匹配 (?<!b)a negative lookbehind,后行否定断言,a 只有不在 b 后面才匹配 1.6 量词和分支 字符 说明 a* 0 or more a+ 1 or more a? 0 or 1 a{5} exactly five a{2,} two or more a{1,3} between one & three a+? a{2,}? match as few as possible,惰性匹配,就是尽可能少的匹配 以下都是惰性匹配: {m,n}? {m,}? ?? +? *? ...

2020-10-11 · 11 分钟 · 5265 字 · Niuhe