Python 정규식을 탐욕스럽지 않게 만들려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-11-12 14:25:02
원래의
510명이 탐색했습니다.

 How Can I  Make My Python Regular Expressions Non-Greedy?

Python Non-Greedy Regexes: *?의 힘에 대한 이해

정규 표현식 영역에서는 탐욕이 가장 지배적입니다. ".*"와 같은 구문은 가능한 한 많은 텍스트를 사용하므로 일치 항목이 너무 많아지는 경우가 많습니다. 하지만 초기 일치를 우선시하는 좀 더 수술적인 접근 방식을 찾고 있다면 어떨까요?

탐욕스러운 정규식을 탐욕스럽지 않은 감시자로 변환하는 수정자인 수수께끼의 *?에 해결책이 있습니다. 눈에 띄지 않는 이 와일드카드는 Python에게 패턴에 맞는 텍스트의 가장 작은 부분과 일치하도록 지시합니다.

"a (b) c (d) e" 예를 생각해 보세요. 표준 "(.)" 정규식은 무거운 "b) c (d"를 사용합니다. 이 지나친 행동을 길들이려면 ?: "(.*?)"의 강력한 기능을 배포하세요. 이제 Python은 순종적으로 "b"를 잡고 나머지는 그대로 둡니다.

*? 한정자는 단순한 괄호 이상으로 확장됩니다. 기준을 충족하는 조각을 포착하고 경계를 넘거나 패턴이 소진되면 중지합니다.

따라서 정규식을 좀 더 제한해야 할 경우 해당 마법의 *?"를 추가하기만 하면 됩니다. 욕심 없이 한 걸음씩 진정한 소명을 향해 여러분의 경기를 안내합니다.

위 내용은 Python 정규식을 탐욕스럽지 않게 만들려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿