简体   繁体   English

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

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

Please can any one advise me of a solution that will allow my regular expression to match the following data lines... 请任何人向我建议一种解决方案,该解决方案将允许我的正则表达式匹配以下数据行...

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

...but should fail on this line (due to the empty last group) ...但应在此行上失败(由于最后一组为空)

0001,Area (Region Name),

My current expression is: 我当前的表达是:

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

... which works fine in Expresso, but NOT in my C# code! ......这快报工作正常,但不能在我的C#代码!

Any help appreciated. 任何帮助表示赞赏。 Thank you. 谢谢。

Reference that has not helped: 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})$

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM