2015-05-26 169 views
0

我是使用正則表達式(大約一週)的新手。關於腳本的正則表達式

我有我的網站上隱藏的網頁,我需要分析以下爲行去一個列表框的裏面:

DrillMagic.sbox.p50 && DrillMagic.sbox.p50(["drill",[["drills",0],["drill magic",0],["drill with a blog",0],["drill bits",0],["drill days are over florence and the machine",0],["drill white",0],["drill whistle",0],["drill wheel",0],["drill fails",0],["drill with a blog full episode",0]],{"j":"b","k":1,"q":"wFrM4x41L3IXuesFeKSW31gn7WQ"}]) 

我需要所有的鑽的話在這樣行的變量字符串:

drill 
drills 
drill magic 
drill with a blog 
drill bits 
drill days are over florence and the machine 
drill white 
etc. 
etc.. 

但是,並非我所有的關鍵字總是包含其中的「鑽取」。

下面是我想到的:.+?我知道這是一個非常懶的N貪吃比賽! LOL

我只需要從我的腳本中抓取這個模式中的關鍵字,而不管他們將使用哪個隨機關鍵字。希望得到幫助......

+1

'.'匹配任何字符,所以'。+?'將匹配整個輸入。 – Barmar

+0

你在用什麼語言? – Barmar

+0

那麼你在尋找什麼樣的模式?字母和空格?引號內的任何內容? – Barmar

回答

0

您可以使用以下正則表達式:

"([^"]*)"(?=,[^\]]*\](?:,|\])) 

它會捕捉到第一組是雙引號中的串,後跟一個逗號,然後0個或多個其他的符號比],然後]其次是,]

demo

匹配:

drill 
drills 
drill magic 
drill with a blog 
drill bits 
drill days are over florence and the machine 
drill white 
drill whistle 
drill wheel 
drill fails 
drill with a blog full episode 
+0

嘿巴爾馬,這仍然拉回一堆額外。任何其他正則表達式的想法?再次感謝。 –

+0

嘗試'「([^」] *)「(?=,[^ \]] * \](?:,| \]))''。也許,逗號是這裏的關鍵。而且僅供參考:我不是Barmar :) –

+0

Oooops !!!對不起Stribizhev!我是新來的,注意到Barmar是編輯這篇文章的人。他問了我的第一個問題,我認爲我還在迴應他。順便說一句,感謝您的幫助/時間!它似乎在工作,但我會用更多的關鍵字對它進行測試並報告回來!再次感謝! –

0

忘記正則表達式...這是JSON,或至少在前面一些額外的東西JSON。只需使用可用於.Net的幾種JSON解析器之一即可。強烈推薦使用Newtonsoft's option,並通過NuGet提供。