python很強大,python的正則表達式很好用
下面就說說怎么用python的正則表達式來匹配txt文本中的字符吧。
首先,要知道自己匹配的字符串是什么形式的,然后根據(jù)自己的字符串形式來寫出對應(yīng)的正則表達式
例如這次,我需要匹配的是數(shù)字加逗號加數(shù)字的字符串形式
所以我的正則表達式的形式如下
rule_name=r'\b(\d*,+\d+)\s'
compile_name=re.compile(rule_name,re.M)
\d代表數(shù)組,然后后面帶符號的話,符號要在*后面添加,\s是空格還是tab之類的,\b是代表間斷,具體也不清楚是什么。。r代表的是生字符串的意思,然后()里面的是最后得到的字符串,在這里,我的字符串不需要那些空格或者間斷之類的,所以就在那些\d那里加了括號,具體是要用其他代表形式的話,可以直接百度,找到例如字母的表達。
然后下面就要用compile,里面的re.M的意思就是多行匹配,具體什么意思我也不是很清楚,不知道是文本不止一行時用,還是說匹配的字符有多行的時候用,但是我這樣寫并沒有出現(xiàn)錯誤,所以就繼續(xù)這樣寫了。
然后就是打開txt文件,這個很簡單
#"獲取文本"
f=open(path)
st=f.read()
path就是文本的路徑了
之后直接調(diào)用findall函數(shù),可以直接找到在這個文本里的所有符合表達式的字符串,并且返回一個list,里面就是找到的所有字符串了
res_name=compile_name.findall(st)
這個res_name就是一個list,里面包含了找到的所有字符串了
調(diào)用的時候,直接res_name[i]就可以找到對應(yīng)的第i個字符串了
以上內(nèi)容為大家介紹了python如何匹配txt,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。