正则表达式“^[abc]+$”未按预期工作
Regular expression '^[abc]+$' not working as intended
我想找出每一行只包含字母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
这是为什么?我认为问题出在 ^
和 $
字符上,但我不明白为什么。
您想查找仅包含这些字母的每个 行。因此,搜索带有 re.MULTILINE
:
的行
print(re.findall('^[abc]+$', text, re.MULTILINE))
没有这个标志,re
会把text
当成一行,^
和$
会引用开始和结束文件的全部内容.
我想找出每一行只包含字母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
这是为什么?我认为问题出在 ^
和 $
字符上,但我不明白为什么。
您想查找仅包含这些字母的每个 行。因此,搜索带有 re.MULTILINE
:
print(re.findall('^[abc]+$', text, re.MULTILINE))
没有这个标志,re
会把text
当成一行,^
和$
会引用开始和结束文件的全部内容.