Python에서 정규식의 고급 사용

巴扎黑
풀어 주다: 2017-03-30 14:15:22
원래의
1797명이 탐색했습니다.

Python의 경우 규칙성을 배우려면 re 모듈을 사용하는 방법을 배워야 합니다. 이 기사에서는 모든 사람이 마스터해야 하는 몇 가지 고급 기술을 보여줍니다.

정규식 개체 컴파일

re.compile 함수는 패턴 문자열과 선택적 플래그 매개변수를 기반으로 정규식 개체를 생성합니다. 이 객체에는 정규식 일치 및 교체를 위한 일련의 메서드가 있습니다. 사용법에는 약간의 차이가 있습니다. 예를 들어 문자열을 일치시키려면 다음 방법을 사용할 수 있습니다.

컴파일을 사용하면

왜 사용해야 합니까? 이와 같이? 실제로 정규식 일치 속도를 높이기 위해 정규식 개체를 재사용합니다. 두 가지 방법의 효율성을 비교해 보겠습니다.

Python에서 정규식의 고급 사용

두 번째 방법이 훨씬 빠르다는 것을 알 수 있습니다. 실제 작업에서는 컴파일된 정규식 개체를 더 많이 사용할수록 효과가 더 좋아진다는 것을 알게 될 것입니다.

그룹

일치하는 콘텐츠를 그룹화하는 방법을 본 적이 있을 것입니다.

Python에서 정규식의 고급 사용

일치할 개체를 검색하면 일치 결과를 정확하게 일치시킬 수 있습니다. 중첩된 그룹화를 수행할 수도 있습니다:

Python에서 정규식의 고급 사용

그룹화는 요구 사항을 충족할 수 있지만 때로는 가독성이 좋지 않은 경우 다음과 같이 그룹화 이름을 지정할 수 있습니다.

Python에서 정규식의 고급 사용

이제 가독성이 매우 높아졌습니다.

문자열 일치

sed를 배운 학생들은 다음과 같은 대체 사용법을 본 적이 있을 것입니다.

이 1은 이전 정규 일치의 결과를 나타냅니다. 위의 sed는 일치하는 결과에 대괄호를 추가하는 것입니다.

re 모듈에도 다음과 같은 사용법이 있습니다:

Python에서 정규식의 고급 사용

이름이 지정된 그룹화를 사용할 수도 있습니다:

Python에서 정규식의 고급 사용

둘러보기

re 모듈도 근처 매칭을 지원합니다. 예를 살펴보세요.

Python에서 정규식의 고급 사용

기능 사용

정규 표현식을 일치시킬 때 이전에 본 것의 대부분은 표현식을 일치시키는 것이지만 때로는 요구 사항이 훨씬 더 복잡합니다. 특히 교체할 때 더욱 그렇습니다.

예를 들어 다음 문장과 같은 채팅 기록을 Slack의 API를 통해 얻을 수 있습니다.

그 중에는 <@U1EAT8MG9>와 <@U0K1MF23Z> Slack에서는 다른 인터페이스를 통해 이 대응을 얻어야 합니다.

결과는 다음과 같습니다.

대응을 분석한 후 꺾쇠 괄호도 제거되기를 바랍니다. 교체 후는 "@xiaoming, @laolin 네, 정말 그렇네요."

정규 표현식을 사용하여 이를 달성하는 방법은 무엇입니까?

Python에서 정규식의 고급 사용

물론 패턴도 함수가 될 수 있습니다

위 내용은 Python에서 정규식의 고급 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!