Python Non-Greedy Regexes: *?의 힘에 대한 이해
정규 표현식 영역에서는 탐욕이 가장 지배적입니다. ".*"와 같은 구문은 가능한 한 많은 텍스트를 사용하므로 일치 항목이 너무 많아지는 경우가 많습니다. 하지만 초기 일치를 우선시하는 좀 더 수술적인 접근 방식을 찾고 있다면 어떨까요?
탐욕스러운 정규식을 탐욕스럽지 않은 감시자로 변환하는 수정자인 수수께끼의 *?에 해결책이 있습니다. 눈에 띄지 않는 이 와일드카드는 Python에게 패턴에 맞는 텍스트의 가장 작은 부분과 일치하도록 지시합니다.
"a (b) c (d) e" 예를 생각해 보세요. 표준 "(.)" 정규식은 무거운 "b) c (d"를 사용합니다. 이 지나친 행동을 길들이려면 ?: "(.*?)"의 강력한 기능을 배포하세요. 이제 Python은 순종적으로 "b"를 잡고 나머지는 그대로 둡니다.
*? 한정자는 단순한 괄호 이상으로 확장됩니다. 기준을 충족하는 조각을 포착하고 경계를 넘거나 패턴이 소진되면 중지합니다.
따라서 정규식을 좀 더 제한해야 할 경우 해당 마법의 *?"를 추가하기만 하면 됩니다. 욕심 없이 한 걸음씩 진정한 소명을 향해 여러분의 경기를 안내합니다.
위 내용은 Python 정규식을 탐욕스럽지 않게 만들려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!