我有这个字符串:

maria 10 years maria 10 maria10 maria10 years


当下一个单词不是maria时,想匹配10后跟years。我这样尝试过:

\maria\s?[0-9]+(?!years)


但是,即使下一个单词是maria 10,它也会匹配year

最佳答案

您只是忘记了years之前的空格:

In [1]: import re
In [2]: s = "maria 10 years maria 10 maria10 maria10 years"
In [3]: re.findall(r"(\maria\s?[0-9]+)\s(?!years)", s)
Out[3]: ['maria 10', 'maria10']

10-06 09:46