ホームページ  >  記事  >  バックエンド開発  >  Python での正規表現を使用したテキスト置換の例

Python での正規表現を使用したテキスト置換の例

Y2J
Y2Jオリジナル
2017-04-21 15:06:141595ブラウズ

この記事では、Python で正規表現を使用してテキスト置換を実現する方法を主に紹介し、正規表現を使用してテキスト置換を実装するための Python の具体的な手順と関連する使用上の注意事項を例の形で紹介します。 2D ある意味、クライアントプログラミングは素材の整理です。そのため、画像素材の整理には、Win/Linux/Mac を問わず、シンプルな操作環境を持つ Python が最適です


。適用シナリオ

:

① フォルダー内にない場合は、フォルダー名を先頭に挿入します

② すべてのファイル名にプレフィックスを追加します

コードを見てください:

# 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 一致する正規表現) を使用してコンパイルします。正規表現の式を返し、オブジェクト

③を返します。p.finditer は、一致するすべてのイテレータ

④を返します。p.sub は、一致したものをコールバック関数に渡し、テキストを戻り値

⑤ に置き換えます。グループに名前を付け、対応する値を取得できます

以上がPython での正規表現を使用したテキスト置換の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。