本节主要介绍\数字 \d \s \w的用法
\1 \数字的用法
核心用法:选定组(group)的指定次序元素
例如"(ab)(cd)(ef)\1"就是"(ab)(cd)(ef)(ab)"
例如"(ab)(cd)(ef)\2"就是"(ab)(cd)(ef)(cd)"
“(.+)\1”就是任意两组相同的元素
下面给出代码
import re
b = r"(abcabc)\1"
a = r"(a)(b)( c)\2"
match = re.match(a,‘abcbabcd’)
print(match)
print(match.group())
结果是:
<_sre.SRE_Match object; span=(0, 4), match=‘abcb’>
abcb
\d \s \w的用法
名字 | 作用 |
---|---|
\d | 匹配数字 |
\s | 匹配空白字符(比较特殊见下) |
\w | 匹配a-z A-Z 0-9 |
\D\S\W | 大写就和小写相反,例如\D就是匹配非数字的东西 |
/s的特点是根据编码方式不同也会有不同
对于Unicode(一般都是这个):匹配Unicode中的空白字符(包括[\t\n\v\f\r]以及其他空白字符);
如果开启了re.ASCII标志,就只匹配[\t\n\f\v\r] (真的不常见了感觉)
import re
a = r"\D+\d"
match1 = re.match(a,“a1998”)
match2 = re.match(a,“aaa1998”)
match3 = re.match(a,“1aaaaa”)
if match1:
print(“match1匹配成功”)
if match2:
print(“match2匹配成功”)
if match3:
print(“match3匹配成功”)
我们想要的就是匹配至少一个非数字加数字
所以结果是
match1匹配成功
match2匹配成功