C# 当字段中存在逗号和括号时,从字符串中删除逗号,而不考虑括号中的逗号
我尝试在C csv中使用正则表达式,它可以包含: 代码为 我尝试了以下方法:C# 当字段中存在逗号和括号时,从字符串中删除逗号,而不考虑括号中的逗号,c#,regex,C#,Regex,我尝试在C csv中使用正则表达式,它可以包含: 代码为 我尝试了以下方法: var result = (from Match m in Regex.Matches(input, @"([^,()]+(\([^()]*\))?") select m.Value).ToArray(); string result1 = ConvertStringArrayToString(result); textBox2.Text = result1; 但我得到的输出如下: a a a b(a) 您需要让它
var result = (from Match m in Regex.Matches(input, @"([^,()]+(\([^()]*\))?") select m.Value).ToArray();
string result1 = ConvertStringArrayToString(result);
textBox2.Text = result1;
但我得到的输出如下:
a
a
a
b(a)
您需要让它工作:
[^,()]*(?:\(([^()]*|(?<open>\()|(?<-open>\)))*(?(open)(?!))\))*[^,()]*
对BGD的一个很好的介绍是和预期输出是什么?可能的重复也请参见,以获取替代解决方案。A、baa、bb、c、A是输入字符串。预期输出是baa、bb、c A
[^,()]*(?:\(([^()]*|(?<open>\()|(?<-open>\)))*(?(open)(?!))\))*[^,()]*