python正则判断列表是否有元素,python – 从列表中删除正则表达式元素
我使用python 2.7.
我在文件’a’中有數(shù)據(jù):
myname1@abc.com;description1
myname2@abc.org;description2
myname3@this_is_ok.ok;description3
myname5@qwe.in;description4
myname4@qwe.org;description5
abc@ok.ok;description7
我讀這個文件就像:
with open('a', 'r') as f:
data = [x.strip() for x in f.readlines()]
我有一個名為壞的列表:
bad = ['abc', 'qwe'] # could be more than 20 elements
現(xiàn)在我試圖在@之后用’abc’和’qwe’刪除所有行,并將其余部分寫入新文件.
所以在newfile中應(yīng)該只有2行:
myname3@this_is_ok.ok;description3
abc@ok.ok;description7
我一直在嘗試使用regexp(.?)@(.?);(.*)來獲取組,但我不知道接下來該做什么.
請告訴我!
解決方法:
import re
bad = ['abc', 'qwe']
with open('a') as f:
print [line.strip()
for line in f
if not re.search('|'.join(bad), line.partition('@')[2]]
只要壞只包含普通字符,該解決方案就可以工作.字母,數(shù)字,下劃線,但沒有任何干擾正則表達式,如’a | b’,正如@phihag所指出的那樣.
標簽:python,list,regex,parsing
來源: https://codeday.me/bug/20190902/1787577.html
總結(jié)
以上是生活随笔為你收集整理的python正则判断列表是否有元素,python – 从列表中删除正则表达式元素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php myadmin utf,phpm
- 下一篇: php获取url文件大小,PHP通过UR