对于我来说,对于正则表达式来说这是001天所以很抱歉,如果这有点愚蠢,我做了一些研究,但找不到我的问题的答案;可能只是因为我在寻找错误的东西。
我有一个巨大的.CVS文件,我想删除包含术语的所有条目:
Subscribe to Newsletter: No
条目不统一 - 我的意思是
--
Anything could be here
Subscribe to Newsletter: No
--
我已经使用正则表达式(我认为?我在Sublime 3中使用查找和替换)将这个.CSV简化为删除我能够的所有元素,我几乎就在那里。我正在寻找的是一种使用通配符来忽略我不知道的部分的方法;像这样:
^.*--
**wild-card**
Subscribe to Newsletter: No.*\n
如果有人可以推荐我可以研究如何做到这一点,这将是非常棒的,正如我所说,我可能会在这里很好,因为它实际上是第1天,所以如果有人能指出我正确的方向那将是伟大的!< / p>
答案 0 :(得分:1)
第1期:除非您使用DOTALL标记,否则点.
不会与换行符匹配 - 您需要跨越多行。
您需要一个负向预测(?!--)
来断言点不匹配分段分隔符--
。
试试这个:
(?s)^--((?!--).)*?Subscribe to Newsletter:\s+No((?!--).)*
您不需要尾随换行符,因为该点将与启用的dotall标志(?s)
匹配。