我有一个包含浏览器历史数据的文本文件,并希望使用notepad ++提取所有具有特定格式的URL字符串。具体来说,我想在子串
时提取引号之间的所有文本 www.linkedin.com/jobs/view
存在。所以,例如,如果我有行
"url": "https://www.linkedin.com/jobs/view/240035516?trkInfo\u003dsearchKeywordString%3AVolvo%2BGroup%2CsearchLocation"
我想匹配
https://www.linkedin.com/jobs/view/240035516?trkInfo\u003dsearchKeywordString%3AVolvo%2BGroup%2CsearchLocation
我想这样做是为了将所有这些URL提取到单独的文件中。
我从另一篇文章得到正则表达式
(["'])(?:(?=(\\?))\2.)*?\1
匹配双引号括起来的所有内容。但我对正则表达式一无所知,也不知道如何使上述表达式适应我的问题。我怎样才能改变它?
答案 0 :(得分:1)
由于不需要支持转义引号,您可能依赖于基于否定字符类的更简单的正则表达式:
"[^"]*www\.linkedin\.com/jobs/view[^"]*"
请参阅regex demo
必须对点进行转义以匹配文字点,并且[^"]*
(否定的字符类)匹配除"
以外的任何0+字符。
答案 1 :(得分:0)
要在Notepad ++中匹配类似"url": "Path to website"
的行,您可以使用:
"url":\s*"\K[^"]*(?=")