我想找到只包含字母 a、b 和 c 的每一行。我有正则表达式
print(re.findall('^[abc]+$', text))
但我没有从这段文字中得到任何结果:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
fsadfasd
quis nostraud exercitatione ullamco laboiris nisi ut aloiquip ex ea commuodo consequat.
gfgfgasdas
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
aaaabbbbcccaabcccabc
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
aabcbcbcbbabbbabcbbcbcf
culpa qui ofaeiouficia deserunt mollit anim id est laborum.
bbcbcbcbcbcbcbcbcbcbcbcbcbc
aeiou
aaaaaaaaaaaaaaaaaaaaaaaa
为什么是这样?我认为问题在于^
and $
字符,但我不明白为什么。
你想找到每一个line仅由这些字母组成。因此,通过以下方式搜索re.MULTILINE https://docs.python.org/3.7/library/re.html#re.MULTILINE:
print(re.findall('^[abc]+$', text, re.MULTILINE))
如果没有这面旗帜,re
会治疗text
作为单行,并且^
and $
将参考开始和结束文件的全部内容.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)