Python re.sub 역방향 참조 실현
match 그룹
Python re 모듈 에서 match 제공 함수,문자열 에서 지정 한 정규 표현 식 규칙 과 일치 합 니 다.예 를 들 어'Isaac Newton,physist'와 일치 하려 면 아이 작 뉴턴 은 정규 표현 식\w+\w+를 사용 할 수 있 습 니 다. ,실행 결 과 는 다음 과 같 습 니 다.
>>> m = re.match("\w+ \w+", "Isaac Newton, physicist")
>>> m
<re.Match object; span=(0, 12), match='Isaac Newton'>
re.match 의 첫 번 째 매개 변 수 는 지정 한 정규 표현 식 규칙 이 고 두 번 째 매개 변 수 는 일치 하 는 문자열 입 니 다.정규 표현 식 규칙\w+ 연속 문자 와 일치 하 는 것 을 표시 합 니 다.일치 하 는 문자 의 수량 이 1 보다 많 습 니 다.\w+ \w+ 두 단락 의 연속 문자 와 일치 하고 두 단락 의 문자 중간 을 빈 칸 으로 구분 합 니 다.match 사용 하기 일치 하 는 결 과 를 실행 할 때 그룹 을 나 눕 니 다. ,match 를 통과 할 수 있 습 니 다. 결 과 를 되 돌려 주 는 group() 인터페이스 보기 그룹 결과
>>> m.group(0)
'Isaac Newton'
기본적으로 match 하나의 그룹 만 생 성 됩 니 다.0 번 째 그룹 으로 일치 하 는 내용 을 표시 합 니 다.위의 예 에 대해 0 번 째 그룹 은\w+\w+입 니 다. 일치 하 는 전체 내용,즉 Issac Newton 입 니 다. 。정규 표현 식 의 괄호 사용 하기() 일치 하 는 그룹 을 수 동 으로 지정 할 수 있 습 니 다.하면,만약,만약... 뉴턴 두 개의 그룹 으로 나 누 면 정규 표현 식 을(\w+)(\w+)로 바 꿀 수 있 습 니 다. :
>>> m = re.match("(\w+) (\w+)", "Isaac Newton, physicist")
에서(\w+)(\w+) 이 정규 표현 식 에서 두 개의 그룹 을 지 정 했 습 니 다.이 두 그룹 이 일치 하 는 내용 은 모두\w+입 니 다. ,그리고 두 그룹 사 이 를 빈 칸 으로 구분 합 니 다.groups()를 사용 하면 일치 하 는 결과 의 모든 그룹 을 볼 수 있 습 니 다. :
>>> m.groups()
('Isaac', 'Newton')
group()도 사용 할 수 있 습 니 다. 인터페이스 에서 각각 그룹 을 봅 니 다.그룹(0) 전체 일치 결 과 를 표시 합 니 다.group(1) 일치 하 는 결과 의 첫 번 째 그룹,group(2) 두 번 째 그룹 을 나타 내 는 것 으로 유추 합 니 다.
>>> m.group(0)
'Isaac Newton'
>>> m.group(1)
'Isaac'
>>> m.group(2)
'Newton'
re.sub 일치 및 교체re.match() 함수 가 정규 표현 식 의 일치 인 터 페 이 스 를 제공 합 니 다.re.sub() 정규 표현 식 과 일치 할 뿐만 아니 라 문자열 의 결 과 를 바 꾸 어 새로운 문자열 을 만 들 수 있 습 니 다.
예 를 들 어 문자열 중(\w+)(\w+) 일치 하 는 결 과 를 Albert Einstein 으로 바 꿉 니 다. ,이렇게 쓸 수 있다.
>>> re.sub("(\w+) (\w+)", "Albert Einstein", "Isaac Newton, physicist")
'Albert Einstein, physicist'
re.sub 에서 첫 번 째 매개 변 수 는 일치 하 는 정규 표현 식 을 표시 하고 두 번 째 매개 변 수 는 교체 표현 식 을 표시 하 며 세 번 째 매개 변 수 는 원본 문자열 을 표시 합 니 다.이 대체 표현 식 은 수 동 으로 지정 한 새 문자열 Albert Einstein 입 니 다. ,그 는 원본 문자열 의 내용 과 전혀 관련 이 없다.원본 문자열 의 내용 을 다시 사용 하려 면 re.sub 를 사용 해 야 합 니 다. 의 역방향 인용 기능 이 생 겼 다.
역방향 참조
역방향 참조 란 교체 결 과 를 지정 하 는 과정 에서 원본 문자열 의 일치 하 는 내용 을 참조 할 수 있 습 니 다.예 를 들 어(\w+)(\w+) 원본 문자열 에 Isaac Newton 이 일치 합 니 다. ,일치 하 는 결 과 를 이용 하여 결 과 를 First Name:Isaac,LastName:Newton 으로 변경 합 니 다. 。
인용 이 필요 하 다 면 일치 하 는 내용 을 표시 할 수 있 는 표현 식 이 있어 야 합 니 다.마침 re.match 와 일치 하 는 결과 도 있 습 니 다. 같은 그룹 입 니 다.따라서 교체 표현 식 에서 그룹의 결 과 를 참조 하면 됩 니 다.인용 방식 은 다음 과 같은 몇 가지 가 있다.
>>> re.sub("(\w+) (\w+)", "FirstName: \g<1>, LastName: \g<2>", "Isaac Newton, physicist")
'FirstName: Isaac, LastName: Newton, physicist'
레 퍼 런 스re ― Regular expression operations
Python re(gex)? -- Groupings and backreferences
파 이 썬 re.sub 의 역방향 인용 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 re.sub 의 역방향 인용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.