2015-01-12 72 views
-1

喜正則表達式我有正則表達式的一個問題,我有我的Java進行拆分輸入到陣列的表達,但這種表達不JavaScript的工作:編輯從Java到JavaScript的

(?<=</d[12]>)\\d*(?=<d[12]>) 

我有一些對話

<d1>bla bla bla</d1><d2>bla bla bla</d2><d1>bla bla bla</d1>

,我想輸出分割成數組[<d1>bla bla bla</d1>,<d2>bla bla bla</d2>,<d1>bla bla bla</d1>]

你能幫助我,我如何編輯此電子郵件上的表達?謝謝。

+0

javascript將不支持lookbehind。 –

回答

1

您不能像在java中那樣拆分輸入字符串,因爲JavaScript不支持lookbehind斷言。

這將適用於這種特定情況。

> var s = "<d1>bla bla bla</d1><d2>bla bla bla</d2><d1>bla bla bla</d1>" 
undefined 
> s.match(/(?!\d+).*?<\/d[12]>(?=\d*<d[12]>|$)/g) 
[ '<d1>bla bla bla</d1>', 
    '<d2>bla bla bla</d2>', 
    '<d1>bla bla bla</d1>' ] 
+0

謝謝,這是我需要的。 – tomas