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