使用Notepad++的正则表达式排除行

4
假设我有以下内容...

可能是重复的问题:
notepad++反向正则表达式替换(除字符串外的所有内容)

假设我有以下内容...

http://whateverurl.com/is-not-wanted-but-it-is-here-anyway
http://icantbelieveibeenonthisallday.com/i-want-to-shoot-myself
http://hereiswhatireallywant.net/hey-there-sweet-thang
http://howsithangingloser.org/i-hope-someone-helps-you
http://heresanotherbeauty.net/that-i-want-to-be-all-up-in

我想找到不包含“.net/”的行,然后将其替换为空,也就是删除。
我搜索了网上和这个网站,发现了“(?!xxx)”字符串,所以我尝试使用“(?!.net/)”,但似乎Notepad++不支持该字符串,或者我使用不正确,因为我是RegEx的新手。
有任何人能告诉我如何在Notepad++中查找排除某些字符的行吗?

可能是重复问题?https://dev59.com/sWsy5IYBdhLWcg3w3hyI - Eugene S
1个回答

8
据我所知,Notepad++的正则表达式支持无法捕获换行符。您最好使用以下正则表达式进行匹配:
^.*\.net.*$

用空白行替换它(现在是空白行),然后将搜索模式更改为扩展,将\r\n\r\n替换为\r\n(如果使用Unix样式换行符,则用\n\n替换为\n)。
BoltClock指出我已经落伍了,版本6支持这个功能。您可以使用此正则表达式查找并删除这些行:
^.*\.net.*(\r\n|$)

编辑:

谢谢您的回答,不过您误解了我的意思。我想找到不包含 .net/ 的行并将其删除。这可行吗?

抱歉。如果您想匹配那些 不包含 .net 的行,请使用以下表达式:

^(?!.*?\.net/).*\r\n

适用于Notepad++ 6。


1
从版本6.0开始,它就有了这个功能。 - BoltClock
感谢您的回复,但是您误解了我的意思。我正在尝试查找不包含 .net/ 的行并将其删除。这可行吗?再次感谢! - Lost305
@BoltClock 我失败了。谢谢。我更新了回复,也许现在我会读发行说明了。 - vcsjones
1
哇,老兄,我一整天都在这上面忙活,结果只需要升级我的 Notepad++ 版本就行了。非常感谢你的帮助,它起作用了! - Lost305
@Lost305,如果vcsjones的回答对您有用,您可以接受它。这也会鼓励您更多地参与stackoverflow活动。谢谢。 - Stat-R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接