나는 단어와 그 복수형의 보조 정리를 얻는 작은 모듈을 가지고있다. 그런 다음 두 단어 (단수 또는 복수)가 포함 된 문장을 찾는 문장을 순서대로 검색합니다. 나는 그것이 작동하고있다 그러나 더 우아한이 표정을 건설하는 방법 있으면 나는 생각해보고 있었다. 감사! 참고 : Python2파이썬 정규식 중 하나 또는 그 케이스
words = ((cell,), (wolf,wolves))
string1 = "(?:"+"|".join(words[0])+")"
string2 = "(?:"+"|".join(words[1])+")"
pat = ".+".join((string1, string2)) +"|"+ ".+".join((string2, string1))
# Pat output: "(?:cell).+(?:wolf|wolves)|(?:wolf|wolves).+(?:cell)"
그런 다음 검색 :
pat = re.compile(pat)
for sentence in sentences:
if len(pat.findall(sentence)) != 0:
print sentence+'\n'
성능이 문제가되는? 아니면 코드 검토를 찾고 있습니까? – roippi
이 질문은 codereview를 요구하기 때문에 주제와 관련이없는 것으로 보입니다. 그것은 이동해야합니다 [codereview.stackoverflow.com] (http://codereview.stackoverflow.com) –
성능은 주요 관심사, 네. –