C# 使用regexp进行拆分(有例外),避免重写拆分函数

C# 使用regexp进行拆分(有例外),避免重写拆分函数,c#,regex,split,C#,Regex,Split,我想使用regexp分割一组行,除非逗号前面有破折号 这就是问题所在: Likör, Choklad-, kaffe- och nötter 结果分割应如下所示: Likör Choklad-, kaffe- och nötter 测试数据: Punsch Rosé Mousserande vin, Rosé Röda, Fruktigt & Smakrikt Likör, Choklad-, kaffe- och nötter Likör, Grädde o

我想使用regexp分割一组行,除非逗号前面有破折号

这就是问题所在:

    Likör, Choklad-, kaffe- och nötter
结果分割应如下所示:

    Likör
    Choklad-, kaffe- och nötter
测试数据:

Punsch
Rosé
Mousserande vin, Rosé
Röda, Fruktigt & Smakrikt
Likör, Choklad-, kaffe- och nötter
Likör, Grädde och ägg
Vita, Lätt & Avrundat
每一行都会自己通过拆分函数。 语言是C#如果有帮助的话,我使用的函数是

System.Text.RegularExpressions.Regex.Split
我从来没有掌握过regexp。Regexps已尝试:

@"[^-],"    
@"(,)(?!-)" 
@"[^-][,]"  
@"(?!-,),"  
@"[?:^-][,]"
@"^-,|[,]"  
@"[^-](?:,)"

使用“反向向后看”尝试此模式

(?<!-),  
(?

我认为您在模式的末尾缺少一个空格(即逗号之后)。如果结尾没有空格,分割结果中的第二个字符串将以空格开头,这与OP的示例输出不同。