2012-05-30 25 views

回答

1
s = 'a, b, "c,d" e, f,'; 
console.log(s.match(/("[^"]+"|[^,])+/g)); 

收益[ 'a', ' b', ' "c,d" e', ' f' ],它有額外的空間,但你可以修剪它們。

編輯:錯過了e ...現在修復。

說明:

  • (A|B)+喜歡A(這是一個引用字符串)代替B,其是字符串的非引用的部分。它匹配"c,d",然後因爲+它繼續匹配e
  • "[^"]+"匹配"後跟所有非",後跟單個"
  • [^,]匹配任何非"
  • /regex/g使得全球(匹配所有的比賽,而不僅僅是第一)
+0

+1,因爲它的作品,我也接受這個答案,非常感謝你。但是,你能解釋這個正則表達式嗎?再次感謝你。 –

+0

@LajosArpad,我添加了一個解釋...希望它有幫助。 –

+0

謝謝,如果可以的話,我會再次祝賀你;) –