re 모듈의 정규 표현식이 단어 경계를 지원합니까(b)?
b 이스케이프 시퀀스를 사용하여 단어 경계를 일치시키려고 시도하는 중 Python의 re 모듈에서는 불일치가 발생할 수 있습니다. 다음 코드 조각은 이를 보여줍니다.
>>> x = 'one two three' >>> y = re.search("\btwo\b", x)
놀랍게도 예상되는 일치 개체가 없고 대신 None을 반환합니다. 이로 인해 Python이 b 표현식을 지원하는지 아니면 사용법이 올바르지 않은지에 대한 의문이 제기됩니다.
이 불일치는 코드에서 일반 문자열을 사용하기 때문에 발생합니다. 대신 아래에 설명된 대로 원시 문자열을 사용해야 합니다.
>>> x = 'one two three' >>> y = re.search(r"\btwo\b", x)
이 수정으로 문제가 해결되어 의도한 대로 일치 개체가 생성됩니다.
또한 다음 접근 방식을 사용하는 것이 좋습니다.
word = 'two' re.compile(r'\b%s\b' % word, re.I)
이는 대소문자를 구분하지 않는 일치를 보장하여 잠재적으로 성공적인 일치 범위를 확장합니다.
위 내용은 Python의 `re` 모듈이 정규 표현식의 단어 경계(`\b`)를 올바르게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!