我想在以下字符串中匹配 aaa bbb
和 bbb aaa
:
aaa bbb bbb aaa
使用
match = re.search("^(?=.*(aaa))(?=.*?(bbb)).*$", subject, re.DOTALL | re.IGNORECASE)
见 https://www.regex101.com/r/vA0nB0/2
但它只匹配
aaa bbb
。我怎样才能匹配
bbb aaa
呢? 最佳答案
您可以尝试以下简单的正则表达式。
>>> import re
>>> s = 'aaa bbb bbb aaa'
>>> re.findall(r'aaa.*?bbb|bbb.*?aaa', s)
['aaa bbb', 'bbb aaa']
关于Python正则表达式以两种不同的顺序匹配两个字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29022950/