파이썬의 문자열에서 'lep'의 모든 어커런스를 반환하고 싶지만 'filepath'나 'telephone'과 같은 하위 문자열에 어커런스가없는 경우를 가정 해 봅시다.어떻게 정규 표현식을 사용하여 특정 단어에 포함되지 않은 문자를 일치시킬 수 있습니까?
(?<!te|fi)lep(?!hone|ath)
는 그러나, 나는 '텔레파시'와 'filephone'뿐만 아니라 '알기 위해 Filep'와 'telep'을 원하는가 : 지금은 부정적 예측/lookbehind의 조합을 사용하고 있습니다. 나는 유사한 질문을 보았으나 이러한 유형의 선견지명/뒤에서의 조합을 다루는 것은 아닙니다.
감사합니다!
정규식이 가장 적합한 도구입니까? – jonrsharpe
긍정적 인 것은 아니지만 사용자가 제공 한 검색어에서 정규식 문자열을 작성하여 백만 개 정도의 코드 행을 검색합니다. 나는 그 라인들 각각에 걸쳐 용어 목록에있는 각 용어보다는 그 라인들 각각에 걸쳐 하나의 정규식 패턴을 실행하는 것이 더 나을 것이라고 생각한다. – jengelhart
왜'telepath'가 허용되었지만'filepath'가 아닌가요? 어떤 단어가 허용/금지되는지에 대한 기준을 어떻게 결정합니까? –