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

歡迎訪問 生活随笔!

生活随笔

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

python

python 如何匹配列表中某个单词_Python如何匹配文本文件中多行中的特定单词/数字,并将它们存储在单独的列表中...

發布時間:2024/10/8 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 如何匹配列表中某个单词_Python如何匹配文本文件中多行中的特定单词/数字,并将它们存储在单独的列表中... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解釋您想要的正則表達式及其工作原理

以上所有的答案都有效,但是如果你想真正理解這個問題,我認為這可能是一個很好的方法。首先你要想一想你想找到什么。在

對于前三個,您希望匹配類似name space digits的模式。它的正則表達式是name \d+,\d表示一個數字字符,+表示一個或多個字符。在

因此,對于ip sla,您需要一個regex,如:ip sla \d+

但是,您只對數字感興趣,因此可以使用括號將數字指定為自己的組:

^{pr2}$

最后,在python中,反斜杠(\)用于轉義前面的字符,因此python要識別反斜杠,我們需要其中兩個反斜杠,因此在python代碼中,您應該:pattern = "ip sla (\\d+)"

如果您看一下the docs,re模塊有一個函數re.findall,它使您不必將文件拆分成行。在

re.findall(pattern, string)將返回與模式匹配的字符串列表,或者如果只存在一個組(就像我們的情況一樣,其中一個組是\d+),它將返回該組。在

這意味著re.findall("ip sla (\\d+)", fileText)

將返回ip sla值的數字(字符串)列表。在

也可以應用于mpid和vlan。在

但是,你想要的字母和數字要匹配。在regex中,這些字符被稱為單詞字符,為了匹配單詞字符,我們可以使用\w。我們再次使用+修飾符來匹配一個或多個單詞字符。這給我們留下了pattern = "tag (\\w+)"

策略:1. Read file into string

2. Construct and execute regex searches for each pattern

3. Iterate through each list of results

4. Append each result to the correct array

代碼:import re

myFile = open("regex.txt","r") # open file for reading

myFileData = myFile.read() # read file into a string

myFile.close() # close file now that we're done

# create lists for each thing you're looking for

ipsla = []

mpid = []

vlan = []

tag = []

# finds a pattern like "ip sla "

results = re.findall("ip sla (\\d+)", myFileData)

for result in results:

# add the number (as an int) to your ipsla list

ipsla.append(int(result))

# rinse & repeat :)

results = re.findall("mpid (\\d+)", myFileData)

for result in results:

mpid.append(int(result))

results = re.findall("vlan (\\d+)", myFileData)

for result in results:

vlan.append(int(result))

results = re.findall("tag (\\w+)", myFileData)

for result in results:

if result not in tag:

tag.append(result)

print ipsla

print mpid

print vlan

print tag

總結

以上是生活随笔為你收集整理的python 如何匹配列表中某个单词_Python如何匹配文本文件中多行中的特定单词/数字,并将它们存储在单独的列表中...的全部內容,希望文章能夠幫你解決所遇到的問題。

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