Python 은 정규 표현 식 을 사용 하여 텍스트 교 체 를 실현 하 는 방법
2D 클 라 이언 트 프로 그래 밍 은 특정한 의미 에서 볼 때 소재 조직 이기 때문에 이미지 소재 조직 은 항상 대량으로 처리 해 야 한다.python 은 반드시 가장 좋 은 선택 이다.win/linux/mac 든 모두 간단 한 운영 환경 이 있다.
두 개의 응용 장면 을 들 어 라.
① 어떤 폴 더 에 있 지 않 으 면 폴 더 이름 을 앞 에 삽입
② 모든 파일 이름 에 접두사 추가
코드 를 직접 보 세 요.
# encoding: UTF-8
import re
# Pattern
p = re.compile(r'(?P<folder>(\w+/)*)(?P<filename>\w+\.png)')
# Pattern , , None
#match = pattern.match('<key>xxx/duobaojiemian_L/yangpizi.png</key>')
the_str = """<key>XXXX/duobaojiemian2222_L/duobaojiemian_L/yangpizi.png</key>
<key>yangpizi2.png</key>
<key>yangpizi3.png</key> """
for m in p.finditer(the_str):
# Match
print m.groupdict()
print '-------------------------------'
#f = lambda m: m.group().find('XXXX/') == -1 and 'XXXX/'+m.group() or m.group()
def f(m):
s = m.group()
return s.find('XXXX/') == -1 and 'XXXX/'+s or s
def f2(m2):
d = m2.groupdict()
return d['folder']+'the_'+d['filename']
print p.sub(f2, the_str)
정규 표현 식 에 대해 설명 할 것 이 몇 가지 있 습 니 다.①.python 의 정규 표현 식 은 그룹 을 나 눌 때 이 문법 을 사용 합 니 다(?P<이름>과 일치 하 는 정규 표현 식)
②.re.copile 은 정규 표현 식 을 컴 파일 하고 대상 을 되 돌려 주 는 데 사 용 됩 니 다.
③.p.finditer 는 일치 하 는 모든 교체 기 를 되 돌려 줍 니 다.
④.p.sub 는 일치 하 는 항목 을 반전 함수 에 전달 하고 반환 값 으로 텍스트 를 교체 합 니 다.
⑤.m.groupdict,그룹 이름 을 사용 하여 값 을 가 져 올 수 있 습 니 다.
PS:여기 서 여러분 께 매우 편리 한 정규 표현 식 도구 2 가 지 를 제공 합 니 다.참고 하 시기 바 랍 니 다.
JavaScript 정규 표현 식 온라인 테스트 도구:
http://tools.jb51.net/regex/javascript
정규 표현 식 온라인 생 성 도구:
http://tools.jb51.net/regex/create_reg
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.