日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python正则匹配括号内任意字符,python 正则匹配 获取括号内字符

發布時間:2023/12/20 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python正则匹配括号内任意字符,python 正则匹配 获取括号内字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、需求

* 提取字典中的【】內的字符,生成可以導入到五筆詞庫中的txt文件。

原文件:

生成后的結果:

實現方式

前言

因為正則表達式語法很難讀,因此本次程序以多次的方式來講解。

一、提取【】內內容import re

with open("XDHYCD7th.txt","r",encoding="utf-8") as f:

text = f.read()

words = re.findall("【.+】", text)

括號中的 . 表示一個字符的通配符,可以用來表示任意字符。

+表示字符數量,數量為一個以上

【.+】表示匹配所有括號內的字符,括號內字符至少有一個或以上。 比如【啊】或者【阿公】就會被匹配進去,而【】就不會被匹配進去

效果:

二、去除【】號

只要用()把你想要的部分框起來就可以。比如? 【(匹配的字符)】 ,最后出現的就是 匹配的字符

代碼:

import re

with open("XDHYCD7th.txt","r",encoding="utf-8") as f:

text = f.read()

words = re.findall("【(.+)】", text)

【.+】 =》 【(.+)】

效果:

三、懶惰匹配

最后結果如上,紅框里面有哪里不對?查看原文:【阿蘭若】ālánrě〈名〉見809頁【蘭若】。

原來【阿蘭若】的前括號 和 【蘭若】 的 后括號 匹配了。這是因為這里使用的是貪婪模式,換句話說,

【1】【2】 匹配出來的不會是? 1? 2 兩個字符,而是: 1】【2

我們要把它改成懶惰模式:

代碼:import re

with open("XDHYCD7th.txt","r",encoding="utf-8") as f:

text = f.read()

words = re.findall("【(.+?)】", text)

【(.+)】=》【(.+?)】

那個問號表示的就是懶惰模式

結果:

總結

以上是生活随笔為你收集整理的python正则匹配括号内任意字符,python 正则匹配 获取括号内字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。