Python模块_re正则表达式模块-2

re模块之转义字符

print(re.findall("I\b","I am a Man")) #匹配不到结果
print(re.findall(r"I\b","I am a Man")) #加字符串前加r的意思是对于特殊字符不作处理的交给re去处理
print(re.findall("I\\\k","I\k am a Man")) #k是没有特殊意义的, 而 \ 在re里是有特殊意义的,所以"I\k am a Man"中的\k其实是\\k
print(re.findall(r"I\\k","I\k am a Man")) #已知re里的 I\k字符 是 I\\k .加r对特殊字符不作处理的交给re去处理

re模块之分组

print(re.findall("AB|CD","AAAAAABBBBBBBBBBCCCCCCCCDDDDDD")) #把符合AB和符合CD条件的拿出来,结果是:['AB', 'CD']
print(re.findall("(abc)+","abcabcabc")) #这个结果是:['abc'] ,如何解读?
print(re.findall("(abc)+","abcXabcXabc")) #这个结果是:['abc', 'abc', 'abc'] ,如何解读?

re模块之search方法

print(re.search("ABC","123456ABC")) #结果返回是一个对象:<re.Match object; span=(6, 9), match='ABC'>
print(re.search("ABC","123456ABC").group()) #对象的group()方法的结果返回的是一个字符串:ABC
print(re.search("(?P<num>[0-9])[A-Z]+","123ABC456JJJ").group())# 结果是:3ABC
print(re.search("(?P<num>[0-9])[A-Z]+","123ABC456JJJ").group("num")) #结果是:3 ,符合预期

猜你喜欢

转载自www.cnblogs.com/iamjames/p/11261607.html