2011-12-13 92 views
1

我想分割期間的字符串。例如。這樣的字符串會...
正則表達式在期間分割

1) a.b.c 
2) a\.x.b.c 

結果1)應該是... ["a", "b", "c"]
結果2)應該是... ["a.x", "b", "c"]

感謝 PRASHANT

+3

爲什麼情景2中忽略了第一個時期? –

+0

由於轉義而被忽略「\」 – user1031396

+1

編輯會改變某些東西;) –

回答

0

因爲Javascript正則表達式沒有後顧之憂,所以我建議你看看this,它們模仿了lookbehind的行爲。

+0

忘了提及,這需要在Javascript – user1031396

+0

@ user1031396,改變一切,因爲JavaScript不支持向後看。讓我看看我能否找到解決方法.. – SERPRO

0

我對JavaScript不太熟悉,但也許這足以讓您開始朝正確的方向發展。

var s='a\\.x.b.c'; 
s.match(/(([^\\.]|\\.)+)/g, function($1) { print($1); }); 

結果:

a\.x,b,c 

你是不是反斜槓應該如何工作的清楚,所以我假設你正在使用一個反斜槓作爲一般逃逸機制;這意味着\\.表示一個文字反斜槓(轉義反斜槓),後面跟着一個文字,即非轉義點。如果這不是你的意思,你需要更詳細地定義這個(或者,更可能的是,有一個頓悟,你正在做錯錯誤)。

+0

你說得對。我瞭解到它必須是「a \\。x.b.c」而不是「a \ .x.b.c」。我會在稍後嘗試您的解決方案。謝謝。 – user1031396