2012-02-15 26 views
0

我試圖解析一些像這樣的BBC代碼:正則表達式不繼續

[item=1]a[/item] 
[item=2]b[/item] 
[item=3]c[/item] 

我能夠得到的第一個項目,但我不能得到第二和第三。我試圖抓住每個項目,並將其轉換爲鏈接。下面是結果我要去爲:

<a href="#1">a</a> 
<a href="#2">b</a> 
<a href="#3">c</a> 

這裏是我在做什麼:

/\[item=(\d+)\](.*?)\[\/item\]/ 

這給了我:

["[item=1]a[/item]", "1", "a"] 

我在做什麼錯?

+0

你在做什麼錯取決於你所使用的語言,你不告訴我們,語言。 – stema 2012-02-15 09:59:14

回答

2

嘗試添加「全局」選項,你的表達

/\[item=(\d+)\](.*?)\[\/item\]/gi 

應該在最regex實現工作,但是當您提供您所使用的一個(或者至少是語言你是編程中),我可以檢查一下。

進一步說明:添加不區分大小寫的選項也是,所以ITEM也將匹配。

在進一步futher注:這是一個working example

+0

我希望我可以+1這一百萬次,不僅是爲了那個美妙的答案,而且包括那令人驚歎的程序! – LordZardeck 2012-02-15 10:01:44

+1

樂意提供幫助 - 但對於其他問題,請務必始終包含您正在使用的_programming language_以及您正在做的事情上的一些示例代碼! – 2012-02-15 10:03:51

+0

哦,對不起。我認爲語言不重要,因爲正則表達式是正則表達式嗎? – LordZardeck 2012-02-15 15:21:18