>  기사  >  백엔드 개발  >  Python 정규식의 고급 사용법에 대한 자세한 설명

Python 정규식의 고급 사용법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-23 17:29:251515검색

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

일반객체

re.compile함수패턴문자열에 따라 컴파일하고 다음을 수행할 수 있습니다. 선택한 플래그 인수는 정규식 개체를 생성합니다. 이 객체에는 정규식 일치 및 교체를 위한 일련의 메서드가 있습니다. 사용법에는 약간의 차이가 있습니다. 예를 들어 문자열을 일치시키려면 다음 방법을 사용할 수 있습니다.

컴파일을 사용하면

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

Python 정규식의 고급 사용법에 대한 자세한 설명

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

그룹(그룹)

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

Python 정규식의 고급 사용법에 대한 자세한 설명

매칭할 개체에 괄호를 추가하면 매칭 결과를 정확하게 일치시킬 수 있습니다. 중첩된 그룹화를 수행할 수도 있습니다:

Python 정규식의 고급 사용법에 대한 자세한 설명

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

Python 정규식의 고급 사용법에 대한 자세한 설명

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

문자열 일치

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

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

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

Python 정규식의 고급 사용법에 대한 자세한 설명

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

Python 정규식의 고급 사용법에 대한 자세한 설명

둘러보기

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

Python 정규식의 고급 사용법에 대한 자세한 설명

기능 사용

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

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

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

결과는 다음과 같습니다.

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

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

Python 정규식의 고급 사용법에 대한 자세한 설명

물론 패턴도 함수일 수 있습니다

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.