2013-09-21 120 views
1

我有一個大問題,試圖寫一些字符串比較正則表達式。我已經嘗試了2個多小時,並失去了耐心。 總之我嘗試做得到cgid後及以下字符串的結束線或下&之前的字母:Js正則表達式需要

#cgid=neu#cgid=neu&start=2

我一直在使用stringVar.match("/&cgid=(.*?)&/")嘗試,但它返回null

我也曾經在下面的字符串/之後得到的最後一個字:

"/s/SiteName/neu". 

我知道這是容易的,但它似乎我太難爲首學習正則表達式。

回答

2

爲什麼你會顯示出與#cgid=...然後串第一捕捉griup嘗試與&cgid=...搭配呢?這根本沒有意義。根據術語「REGULAR表達式」的定義,正則表達式完全合乎邏輯。這很容易:

stringVar.match(/\bcgid=([^&]+)/); 

您想要的目標將在該陣列的[1]索引。從

stringVar.split("/").pop(); 
+0

#是一個錯字,我忘了刪除它 – viktor

+1

好吧。我在回答中用'\ b'替換了'#'。 –

+0

+1良好的使用'\ b' – pguardiario

0

\w+=([^&]+)

你必須在這裏

+0

這將匹配了很多東西它不應該。 – pguardiario

+0

@pguardiario但它有兩個upvotes ...我想我會糾正:p –

0

嘗試組1:

對於你的一部分 「後/硬道理」,試試這個

cgid=(.*?)(&.*)?