>  기사  >  백엔드 개발  >  Python에서 정규식을 사용한 텍스트 바꾸기의 예

Python에서 정규식을 사용한 텍스트 바꾸기의 예

Y2J
Y2J원래의
2017-04-21 15:06:141605검색

이 글에서는 주로 정규식을 사용하여 텍스트 대체를 구현하는 Python의 방법을 소개합니다. 정규식을 사용하여 텍스트 대체를 구현하는 Python의 구체적인 단계와 관련 사용 주의 사항을 예제 형식으로 분석합니다.

2D 클라이언트 프로그래밍은 어떤 의미에서 재료 구성이므로 일괄 처리가 필요한 경우가 많습니다. win/linux/mac이든 운영 환경이 간단해야 합니다.

두 가지 적용 시나리오를 제시하세요:

① 폴더에 없으면 앞에 폴더 이름을 입력하세요.

② 접두어 추가 모든 파일 이름에

코드를 직접 살펴보겠습니다:


# encoding: UTF-8
import re
# 将正则表达式编译成Pattern对象
p = re.compile(r&#39;(?P<folder>(\w+/)*)(?P<filename>\w+\.png)&#39;)
# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
#match = pattern.match(&#39;<key>xxx/duobaojiemian_L/yangpizi.png</key>&#39;)
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 &#39;-------------------------------&#39;
#f = lambda m: m.group().find(&#39;XXXX/&#39;) == -1 and &#39;XXXX/&#39;+m.group() or m.group()
def f(m):
 s = m.group()
 return s.find(&#39;XXXX/&#39;) == -1 and &#39;XXXX/&#39;+s or s
def f2(m2):
 d = m2.groupdict()
 return d[&#39;folder&#39;]+&#39;the_&#39;+d[&#39;filename&#39;]
print p.sub(f2, the_str)

정규 표현식에 대해 설명할 것이 몇 가지 있습니다

① . Python의 정규 표현식은 캡처를 그룹화해야 하는 경우(?P1857bcd0c066bcf2ee4f1df791e77b81 정규 표현식과 일치)

② re.compile을 사용하여 정규 표현식을 컴파일하고

3. p.finditer는 일치하는 모든 반복자를 반환합니다

4. p.sub는 일치하는 항목을 콜백 함수에 전달하고 텍스트를 반환 값

⑤으로 바꿉니다. 그룹 이름을 사용하여 해당 값을 얻을 수 있습니다

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

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