문자열에있는 선택적인 단어가있는 경우 무시할 필요가있는 부분을 찾을 수있었습니다.파이썬 정규식이 작동하지 않는 단어를 건너 뛰는
내가 노력 코드는 다음과 같습니다
import re
str = '''
topping consensus estimates
topping analysis' consensus estimate
topping estimate
'''
for m in re.finditer(r'(?P<p3c>topping\s+(?:\w+\s(?!estimate)){0,2}(estimate))',str):
print(m.group())
print('done')
나는 문자열에서 발견 된 세 가지 경우 모두를 얻을 수 있지만 마지막 싶어. 토핑과 예상 사이에 두 단어까지 건너 뛰고 싶지만 분석과 합의가 될 것이라고 보장 할 수는 없습니다. 나는 (?:\w+\s(?!estimate)){0,2}
으로 시도하여 최대 2 단어까지 건너 뛰고 결과를 얻지 만 어떤 이유로 작동하지 않습니다.
"작동하지 않음"이란 무엇입니까? 더 구체적으로 말하십시오. –