2017-01-05 79 views
0

我有一個帶有來自瀏覽器歷史記錄的數據的文本文件,並且想用記事本++提取具有特定格式的所有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 

以匹配雙引號括起來的一切。但我對正則表達式一無所知,並不知道如何使上述表達式適應我的問題。我該如何改變它?

+3

爲什麼不使用更簡單的'「[^」] * www \ .linkedin \ .com/jobs/view [^「] *」'?輸入中是否有任何轉義引號? –

+0

Thanks @WiktorStribiżew,符合我的問題。正如我寫的,我對正則表達式一無所知,需要一個快速的解決方案,所以在黑暗中拍攝這樣的:) –

回答

1

由於沒有必要支持轉義引號,你可以依賴於基於否定字符類的一個更簡單的正則表達式:

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

regex demo

的點必須逃到匹配一個點,並[^"]*否定字符等級)匹配除"以外的任何0+字符。

0

要匹配這樣一行:在記事本"url": "Path to website" ++,你可以使用:

"url":\s*"\K[^"]*(?=") 
相關問題