[英]Allow conditional usage of semicolon in regex pattern
我有以下模式:
UnallowedCharacters = @"<>\{\}" + "\"";
@"^(?<contactType>\d+):(?<contactIdentifier>[^;" + UnallowedCharacters + @"]+)(;(?<parameterName>[A-Za-z0-9_-]+)=(?<parameterValue>[^;=" + UnallowedCharacters + "]+))*$"
我需要允许在contactIdentifier
部分使用分号,但仍然不能从不允许的字符中排除分号,因为以后的拆分将不再起作用。
有任何想法吗?
如果我理解了这个问题,你可以这样做:
UnallowedCharacters = @"<>{}"""; (no need to escape inside a character group)
(?<contactIdentifier>(?:[;]|[^" + UnallowedCharacters + @"])+
说明:
我将<contactIdentifier>
组更改为:
?<contactIdentifier>
姓名
(?:
(非捕获)组的开始
[;]|
';' 或者:
[^" + UnallowedCharacters + @"]
一个字符不在 class
)+
全组重复一次或多次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.