国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python使用正則表達式文本替換

2019-11-14 17:22:17
字體:
來源:轉載
供稿:網友

2D客戶端編程從某種意義上來講就是素材組織,所以,圖片素材組織經常需要批量處理,python一定是最佳選擇,不管是win/linux/mac都有一個簡單的運行環境

舉兩個應用場景:

  • 如果不是在某個文件夾里面則將文件夾名稱插入前面
  • 所有的文件名名稱加上一個前綴

直接看代碼吧

# encoding: UTF-8import 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 sdef f2(m2):  d = m2.groupdict()  return d['folder']+'the_'+d['filename']print p.sub(f2, the_str)

  

關于正則表達式有幾個需要交代的

  • python的正則表達式如果捕獲需要分組則使用這個語法(?P<命名>匹配的正則表達式)
  • re.compile用于編譯正則表達式并返回對象
  • p.finditer返回所有匹配的迭代器
  • p.sub將匹配項傳入回調函數,并且用返回值替換文本
  • m.groupdict,可以使用則的分組命名取相應的值

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渝中区| 马龙县| 都江堰市| 淄博市| 丰城市| 安多县| 平阴县| 老河口市| 肇东市| 兴义市| 昌宁县| 延长县| 通城县| 永顺县| 深泽县| 定远县| 望都县| 建宁县| 玉田县| 咸阳市| 拉孜县| 黄陵县| 通江县| 镇原县| 临西县| 淳化县| 赞皇县| 饶平县| 小金县| 浮梁县| 凤阳县| 新营市| 沈丘县| 乐东| 天全县| 乐山市| 罗甸县| 安陆市| 信宜市| 双鸭山市| 平泉县|