2017-07-30 117 views
-2

我有一個這樣的字符串:正則表達式:加引號匹配逗號

""a"","""b""",""12,3"","d" 

我需要匹配加引號的所有逗號,不管行情的數量,這樣的結果將是:

a 
b 
12,3 
d 
+1

你嘗試過這麼遠嗎?您是否在尋找任何一對引號內的單個逗號,或者可能有多個引號「A B C D」? – struthersneil

+0

如果你只是想分割字符串,它可能足以匹配\「+ \,\」+ – struthersneil

+0

我認爲我的問題是錯誤的,但你的答案是我想要實現的。謝謝。 –

回答

1

您可以嘗試在部分第一分割字符串,然後更換引號

let s = '""a"","""b""",""12,3"","d"'; 
 

 
let r = s.split(/(?!,\w+),/); 
 
r = r.map(e => e.replace(/"/g, "")); 
 
console.log(r);

+0

類似:',\ B',但也會[在a,b'上失敗](https://regex101.com/r/wR9J9M/1) –

0

這爲我工作

var test = '""a"","""b""",""12,3"","d"' 

test = test.match(/(\b[0-9a-z,]+)/gmi) 

console.log('match: ', test) 

匹配: 'A', 'B', '12', '3', 'd']