簡體   English   中英

用逗號分隔字符串但忽略括號或引號中的逗號

[英]Split string by comma but ignore commas in brackets or in quotes

我有一個像hello, "darkness, my", (old, friend)的字符串hello, "darkness, my", (old, friend) ,我想要這個分裂的結果:
hello
"darkness, my"
(old, friend)

我找到了一種方法來忽略“-marks( ,?=([^\\"]*\\"[^\\"]*\\")*[^\\"]*$ )中的逗號以及忽略逗號的另一種方法括號( ,(?=[^\\\\)]*(?:\\\\(|$)) )。
當我使用第一個時,我得到:
hello
"darkness, my"
(old
friend)
當我使用第二個時,我得到:
hello
"darkness
my"
(old, friend)

但是我如何結合這兩種解決方案呢?

可能更容易匹配部件,而不是分開它們。

\\s*("[^"]*"|\\([^)]*\\)|[^,]+)

這將捕獲每個數據作為組1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM