2012-01-05 28 views
0

我有一个包含链接和其他日期的大列表。我想过滤掉所有的数据,并只有链接的列表。当前列表的用reg表达式替换Notepad ++?

例子:

 
32,2012-01-04 06:44:44,http://link.com/link 
33,2012-01-04 06:44:45,http://link.com/link,{Text|textext|text},http://link.com/link|http://link.com/link|http://link.com/link 
+4

你要什么的结果是什么样子? – BoltClock 2012-01-05 00:37:04

回答

0

记事本++提供发现使用正则表达式替换功能。您可以通过使用Ctrl + H来访问此功能。

如果你实际上需要的正则表达式来做到这一点,你可以使用这样的匹配网址:

\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))) 

我发现here

此外,您可以在http://gskinner.com/RegExr/

+2

记事本++有一个严格限制的正则表达式引擎,只要给定的表达式不起作用。 – BoltClock 2012-01-05 00:47:08

+0

确实。如果文件不是太大,我只需使用http://gskinner.com/RegExr/网站进行所需的更改。 – MichaelHouse 2012-01-05 00:49:06

+0

该文件只有150行,但有时在1行上有〜3个链接。但我不知道如何使用gskinner或正则表达式以及所有这些函数。任何人都可以帮助我吗? – user1131105 2012-01-05 00:56:08

0

测试出改变你的正则表达式轻松使用您所提供的输入,这里就是你可以在http://www.regexr.com/ 使用你需要确保全球(/ g)的标志是一个模式在

表达:

.*?(http.*?)[,|\n] 

输入:

32,2012-01-04 06:44:44,http://link.com/link1 
33,2012-01-04 06:44:45,http://link.com/link2,{Text|textext|text},http://link.com/link3|http://link.com/link4|http://link.com/link5 

换人:

$1\n 

输出:

http://link.com/link1 
http://link.com/link2 
http://link.com/link3 
http://link.com/link4 
http://link.com/link5 
+0

'[,| \ n]'是一个匹配','或'|'或'\ n'的字符类。我想你的意思是'(,| \ n)'或'[,\ n]'。但'(,| \ R)'更好,'\ R'匹配'\ n'或'\ r'或'\ r \ n'。 – Toto 2014-05-13 11:21:39

+0

@ M42我的意思是一个文字'|'。一些链接使用'|'分隔。在'\ R'上打个电话 - 谢谢你解释! – 2014-05-13 11:53:48