正则表达式查找字符串并删除整行

1 投票
1 回答
1418 浏览
提问于 2025-04-17 14:07

我该怎么搜索一段文字,如果找到就删除整行,最好是用正则表达式来做。

我到目前为止尝试过的:

我的文件:

wait                    => '10',

尝试一

data = re.sub(r"^.*wait.*$","",data) #does not work

尝试二:

data = re.sub(r".+/wait/.+","",data) #does not work

1 个回答

4

你的 regexp(正则表达式)写得不太对。试试这个:

import re
print re.sub(".*wait.*\n",'',"""wait                    => '10',
wait                    => '10',
Other data
wait                    => '10',
""",flags=re.M)


http://docs.python.org/2/library/re.html#re.M

re.M

re.MULTILINE

当你使用这个选项时,字符 '^' 会匹配字符串的开头和每一行的开头(也就是每个换行符后面紧接着的地方);而字符 '$' 会匹配字符串的结尾和每一行的结尾(也就是每个换行符前面紧接着的地方)。默认情况下,'^' 只会匹配字符串的开头,而 '$' 只会匹配字符串的结尾和在字符串末尾的换行符前面(如果有的话)。

撰写回答