Python의 경우 규칙성을 배우려면 re 모듈을 사용하는 방법을 배워야 합니다. 이 기사에서는 모든 사람이 마스터해야 하는 몇 가지 고급 기술을 보여줍니다.
정규식 개체 컴파일
re.compile 함수는 패턴 문자열과 선택적 플래그 매개변수를 기반으로 정규식 개체를 생성합니다. 이 객체에는 정규식 일치 및 교체를 위한 일련의 메서드가 있습니다. 사용법에는 약간의 차이가 있습니다. 예를 들어 문자열을 일치시키려면 다음 방법을 사용할 수 있습니다.
컴파일을 사용하면
왜 사용해야 합니까? 이와 같이? 실제로 정규식 일치 속도를 높이기 위해 정규식 개체를 재사용합니다. 두 가지 방법의 효율성을 비교해 보겠습니다.
두 번째 방법이 훨씬 빠르다는 것을 알 수 있습니다. 실제 작업에서는 컴파일된 정규식 개체를 더 많이 사용할수록 효과가 더 좋아진다는 것을 알게 될 것입니다.
그룹
일치하는 콘텐츠를 그룹화하는 방법을 본 적이 있을 것입니다.
Pass 개체에 괄호를 추가합니다. 결과와 정확히 일치하도록 일치합니다. 중첩된 그룹화를 수행할 수도 있습니다:
그룹화는 요구 사항을 충족할 수 있지만 때로는 가독성이 좋지 않은 경우 다음과 같이 그룹화 이름을 지정할 수 있습니다.
이제 가독성이 매우 높아졌습니다.
문자열 일치
sed를 배운 학생들은 다음과 같은 대체 사용법을 본 적이 있을 것입니다.
이 1은 이전 정규 일치의 결과를 나타냅니다. 위의 sed는 일치하는 결과에 대괄호를 추가하는 것입니다.
re 모듈에도 이런 사용법이 있습니다:
이름이 지정된 그룹화를 사용할 수도 있습니다:
둘러보기(Look around)
re 모듈은 근처 일치도 지원합니다. 이해하려면 예를 살펴보세요.
정규 일치의 경우 이전에 본 것의 대부분은 표현식과 일치하지만 때로는 요구 사항이 훨씬 더 복잡하며 특히 대체와 관련하여 더욱 복잡합니다. 예를 들어 Slack의 API를 통해 다음 문장과 같은 채팅 기록을 얻을 수 있습니다. 그 중에는 <@U1EAT8MG9>와 <@U0K1MF23Z> Slack에서는 다른 인터페이스를 통해 이 대응을 얻어야 합니다. 결과는 다음과 유사합니다. 대응을 분석한 후 꺾쇠 괄호도 제거되기를 바랍니다. 교체 후는 "@xiaoming, @laolin 네, 정말 그렇네요."정규 표현식을 사용하여 이를 달성하는 방법은 무엇입니까? 물론 패턴도 함수일 수 있습니다. Python 정규 표현식의 고급 사용법과 관련된 더 많은 기사를 보려면 다음을 참조하세요. PHP 중국어 넷에 주목하세요!