Regex 仅针对具有特定子字符串的字符串,在引号之间匹配字符串

Regex 仅针对具有特定子字符串的字符串,在引号之间匹配字符串,regex,notepad++,Regex,Notepad++,我有一个包含浏览器历史记录数据的文本文件,希望使用记事本++提取具有特定格式的所有URL字符串。具体地说,我想在子字符串出现时提取引号之间的所有文本 www.linkedin.com/jobs/view 他在场。例如,如果我有这条线 "url": "https://www.linkedin.com/jobs/view/240035516?trkInfo\u003dsearchKeywordString%3AVolvo%2BGroup%2CsearchLocation" 我想比赛 https:/

我有一个包含浏览器历史记录数据的文本文件,希望使用记事本++提取具有特定格式的所有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提取到一个单独的文件中

我从另一个邮局收到了regex

(["'])(?:(?=(\\?))\2.)*?\1

匹配包含在双引号中的所有内容。但我对正则表达式一无所知,也不知道如何使上面的表达式适应我的问题。如何更改它?

要匹配Notepad++中的一行,如:
“url”:“网站路径”
,您可以使用:

"url":\s*"\K[^"]*(?=")

由于不需要支持转义引号,您可以依赖一个更简单的正则表达式,它基于否定字符类:

"[^"]*www\.linkedin\.com/jobs/view[^"]*"


点必须转义以匹配文字点,
[^”]*
(一个否定字符类)匹配除

之外的任何0+字符,为什么不使用更简单的
“[^”]*www\.linkedin\.com/jobs/view[^”]*“
?输入中是否有转义引号?谢谢@WiktorStribiżew,这符合我的问题。正如我所写的,我对正则表达式一无所知,需要一个快速的解决方案,所以这有点像在黑暗中拍摄:)