2016-07-19 31 views
0

Geben Sie eine durch Komma getrennte Zeichenfolge an, aber jedes Element kann Klammern enthalten, in denen ein Komma enthalten ist.Regulärer Ausdruck in JavaScript string.split

Wie verwendet man regulären Ausdruck, um dieses Array auf intelligente Weise zu teilen, so dass die Inhalte in der Klammer zusammen bleiben?

z.

str = "a,b,c,d(1,2),e" 
x = str.split(????) 

Danach hat x-Wert von

["a", "b", "c", "d(1,2)", "e"] 

Was der reguläre Ausdruck in Split ist (????)

Antwort

0

sollten Sie str.match(/[^,]*(\(.*\))|[^,]+/gi)

+0

verwenden, die nicht ausgibt wonach sie suchen ... "" a, b, c, d (1,2), e ".match (/[^ ,]*(\(.*\)))/i) = [ "a", "", "b", "", "c", "", "d (1", "", "2)", "", "e", ""]] –

+1

@chris korrigiert –

+0

Ich war es Ich schlage vor: 'str.match (/ [^,()] + (\ ([^)] +))?/gi)' –