Python 3에서 정규식 대체 최적화
귀하의 시나리오에서는 추가된 문자열을 사용하여 많은 수의 문자열에 대해 정규식 대체를 수행하는 것을 목표로 합니다. 대체가 단어 경계에서만 발생하도록 보장하는 복잡성. 중첩 루프를 사용하는 기본 정규식 접근 방식은 속도가 느릴 수 있지만 더 효율적인 솔루션이 있습니다.
str.replace 메서드 사용
str.replace 메서드는 상당한 이점을 제공할 수 있습니다. 정규식에 비해 속도가 향상되었습니다. 그러나 단어 경계 대체를 적용하려면 str.replace 인수 내에서 정규식을 사용할 수 있습니다.
sentence = sentence.replace(r'\b' + word + r'\b', '')
이 방법은 str.replace의 속도와 정규식의 단어 경계 적용을 결합합니다.
re.sub 방법 최적화
re.sub 방법을 사용하고 싶다면, 성능을 최적화하는 기술이 있습니다:
Trie를 사용한 구현 예
import re import trie banned_words = ['word1', 'word2', ...] trie_obj = trie.Trie() for word in banned_words: trie_obj.add(word) trie_regex = r"\b" + trie_obj.pattern() + r"\b" pattern = re.compile(trie_regex) for sentence in sentences: sentence = pattern.sub('', sentence)
이 접근 방식은 단어 경계 일치를 위해 Trie의 속도를 활용하여 대규모 데이터 세트의 처리 시간을 크게 줄입니다.
위 내용은 속도와 단어 경계 정확성을 위해 Python 3에서 정규식 대체를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!