>  기사  >  백엔드 개발  >  정규식을 사용하여 문자열의 전체 단어를 일치시키려면 어떻게 해야 합니까?

정규식을 사용하여 문자열의 전체 단어를 일치시키려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-23 07:39:10709검색

How Can I Use Regular Expressions to Match Whole Words in a String?

동적 정규식을 사용하여 문자열의 전체 단어 일치

정규식을 사용하여 문자열의 전체 단어를 일치시키는 작업을 수행할 수 있습니다. 그러나 서로 다른 단어 위치에 대해 여러 일치 표현식을 만드는 것은 지루할 수 있습니다. 이 기사에서는 단어 경계를 사용하여 간결한 솔루션을 탐구합니다.

단어 경계 사용

b로 표시되는 단어 경계는 단어의 시작 또는 끝을 나타냅니다. b를 정규식 패턴에 통합하면 단어가 아닌 문자로 둘러싸인 단어를 일치시킬 수 있습니다. 다음 코드는 이를 보여줍니다.

match_string = r'\b' + word + r'\b'
# Or Python 3.7+ only versions:
match_string = r'\b{}\b'.format(word)
match_string = rf'\b{word}\b'

이 정규식 패턴은 문자열에서의 위치에 관계없이 "단어"를 전체 단어로 일치시킵니다.

여러 단어 일치

여러 단어를 전체 단어로 일치시켜야 하는 경우 단어 목록을 사용하여 다음과 같은 패턴을 만들 수 있습니다. 이:

match_string = r'\b(?:{})\b'.format('|'.join(words))
# Or Python 3.7+ only version:
match_string = rf'\b(?:{"|".join(words)})\b'

이 패턴에서는 단어가 비캡처 그룹 내에 포함되어 전체 단어만 일치되도록 합니다.

경계 고려 사항

일치할 "단어"에 특수 문자가 포함된 경우 정규식 패턴에서 사용하기 전에 다음을 사용하여 이스케이프해야 합니다. re.escape().

특수문자로 시작하거나 끝나는 단어에는 명확한 단어 경계(?

결론적으로 단어 경계를 사용하면 편리합니다. 문자열의 전체 단어를 일치시키는 방법을 사용하므로 단어 위치를 기반으로 여러 일치 표현식이 필요하지 않습니다.

위 내용은 정규식을 사용하여 문자열의 전체 단어를 일치시키려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.