我正在尝试提取Y
边界分隔之前的任何单词。因为我试图将每一行视为使用(?m)
标志的单独记录并尝试捕获\w+
前瞻\s+Y
,但我只能打印第一场比赛,而不是第二场比赛(IMP1
)。
print(foo)
this is IMP Y text
and this is also IMP1 Y text
this is not so IMP2 N text
Y is not important
当前徒劳的尝试:
>>> m = re.search('(?m).*?(\w+)(?=\s+Y)',foo)
>>> m.groups()
('IMP',)
>>>
>>> m = re.search('(?m)(?<=\s)(\w+)(?=\s+Y)',foo)
>>> m.groups()
('IMP',)
>>>
预期结果是:
('IMP','IMP1')