python - Regex + Python - 删除所有以 * 开头的行

标签 python regex

我想从给定文件中删除所有以 * 开头的行。例如,以下内容:

* This needs to be gone
But this line should stay
*remove 
* this too
End

应该生成这个:

But this line should stay
End

我最终需要做的是:

  1. 删除括号和括号内的所有文本(包括括号/括号),
  2. 如上所述,删除以 '' 开头的行。

到目前为止,我能够使用以下内容解决 #1:re.sub(r'[.?]|(.*?)', '', fileString)。我为 #2 尝试了几件事,但总是最终删除了我不想删除的东西


解决方案 1(无正则表达式)

>>> f = open('path/to/file.txt', 'r')
>>> [n for n in f.readlines() if not n.startswith('*')]

解决方案 2(正则表达式)

>>> s = re.sub(r'(?m)^\*.*\n?', '', s)

感谢大家的帮助。

最佳答案

使用正则表达式>>

s = re.sub(r'(?m)^\*.*\n?', '', s) 

检查 this demo .

关于python - Regex + Python - 删除所有以 * 开头的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925191/

相关文章:

python - unittest.py 与 trace.py 配合不佳 - 为什么?

python - 同时单击包含选项和命令的组

python - Spark ML 中的维度不匹配错误

带分隔符的 MYSQL 子字符串

regex - 我怎样才能模式匹配类似于正则表达式的标记?

python - 查找关键字符之间的单词模式

python - 使类在继承方面可迭代

python - 每个文档中 ISODate 之间的差异?

regex - CMake 的 PASS_REGULAR_EXPRESSION 如何匹配多行输出?

python - 删除首字母缩略词中的点而不是域名中的点的正则表达式是什么?