C# Regular Expression 正则表达式匹配最后一组中的字符,但不匹配空组中的字符

C# Regular Expression regex to match characters in last group, but not empty group

任何人都可以告诉我一个解决方案,让我的正则表达式匹配以下数据行...

0002,Area (Region Name),No value
0003,Area (Region Name),Up North

...但应该会在此行失败(由于最后一组为空)

0001,Area (Region Name),

我现在的表情是:

(?<BRANCH_CODE>[a-zA-Z0-9]{1,8}),(?<UDA_NAME>[a-zA-Z0-9!"\£$\%\^\&\*\(\)\-+_ /]{1,50}),(?<UDA_VALUE>[a-zA-Z0-9!"\£$\%\^\&\*\(\)\-+_ /]{1,50})

... 在 Expresso 中工作正常,但在我的 C# 代码中 NOT

感谢任何帮助。谢谢。

没有帮助的参考: Regular expression matches an extra empty group

表达式看起来是正确的,但我会确保您的表达式中有开始和结束字符,否则它可能在字符串中匹配。

^(?<BRANCH_CODE>[a-zA-Z0-9]{1,8}),(?<UDA_NAME>[a-zA-Z0-9!"\£$\%\^\&\*\(\)\-+_ /]{1,50}),(?<UDA_VALUE>[a-zA-Z0-9!"\£$\%\^\&\*\(\)\-+_ /]{1,50})$

转义所有双引号。

@"(?<BRANCH_CODE>[a-zA-Z0-9]{1,8}),(?<UDA_NAME>[a-zA-Z0-9!""\£$\%\^\&\*\(\)\-+_ /]{1,50}),(?<UDA_VALUE>[a-zA-Z0-9!""\£$\%\^\&\*\(\)\-+_ /]{1,50})"