2012-10-01 20 views
0

我有格式的字符串開始:匹配的圖案,但正則表達式不包括一個匹配時,它具有一定的字符

圖案或abcPATTERNdef或圖案或< < [測試] [PATTERN]> >

我已經創建了一個正則表達式(在JavaScript),爲(^PATTERN)|([^\[]PATTERN)返回第一齣現3次,同時忽略最後一個,但是我也似乎得到前面的字符在返回的匹配:

「PATTERN」,「cPATTERN」和「PATTERN」

我需要的是沒有前面的字符的匹配。

我是新來正規表達,並道歉,如果問題反映了這一點。

任何幫助將不勝感激。

回答

0

JavaScript並沒有對lookbehinds很好的支持,但如果您的格式將保持不變,你可以嘗試這樣的事:

PATTERN(?!]) 

它「模式」是不是所有出現的匹配隨後是]

讓我知道如果不是這樣,我會更新我的答案,包括開幕[的檢查。

+0

我只是看了負面的lookahead(或lookbehind),似乎我偶然發現了一個類似的表達。 這個爲我工作。萬分感謝! – subhre

0

我對你想要做什麼感到有點困惑。你能看看這是否有效?

(^PATTERN)|[^\[](PATTERN) 

您是否試圖找到PATTERN之間的所有字符串?

+0

它仍然會匹配一個字符。 – nhahtdh

+0

難道你只是尋找(PATTERN)?這會給你所有PATTERN –

+0

的匹配他想忽略例子中的最後一個。 – nhahtdh

相關問題