我有一个包含链接和其他日期的大列表。我想过滤掉所有的数据,并只有链接的列表。当前列表的用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
我有一个包含链接和其他日期的大列表。我想过滤掉所有的数据,并只有链接的列表。当前列表的用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
记事本++提供发现使用正则表达式替换功能。您可以通过使用Ctrl + H来访问此功能。
如果你实际上需要的正则表达式来做到这一点,你可以使用这样的匹配网址:
\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))
我发现here。
此外,您可以在http://gskinner.com/RegExr/
记事本++有一个严格限制的正则表达式引擎,只要给定的表达式不起作用。 – BoltClock 2012-01-05 00:47:08
确实。如果文件不是太大,我只需使用http://gskinner.com/RegExr/网站进行所需的更改。 – MichaelHouse 2012-01-05 00:49:06
该文件只有150行,但有时在1行上有〜3个链接。但我不知道如何使用gskinner或正则表达式以及所有这些函数。任何人都可以帮助我吗? – user1131105 2012-01-05 00:56:08
测试出改变你的正则表达式轻松使用您所提供的输入,这里就是你可以在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
'[,| \ n]'是一个匹配','或'|'或'\ n'的字符类。我想你的意思是'(,| \ n)'或'[,\ n]'。但'(,| \ R)'更好,'\ R'匹配'\ n'或'\ r'或'\ r \ n'。 – Toto 2014-05-13 11:21:39
@ M42我的意思是一个文字'|'。一些链接使用'|'分隔。在'\ R'上打个电话 - 谢谢你解释! – 2014-05-13 11:53:48
你要什么的结果是什么样子? – BoltClock 2012-01-05 00:37:04