[英]C# Regular Expression always returns FALSE
regexPattern="\w{6}(AAAAA|BBBBB|CCCCC)"
我需要下面的字符串返回TRUE。 因此,任何6个字母后跟AAAAA或BBBBB或CCCCC:
TXCDTLAAAAA000
TXCDTLBBBBB111
TXCDTLCCCCC222
但是给出上面的模式,我总是得到FALSE作为回报。 如何修复此模式才能正常工作?
因此,基本上这段代码可以正常工作:
if (Regex.IsMatch("123456BBBBB", @"\w{6}(AAAAA|BBBBB|CCCCC)"))
{
//true
}
所以我现在修复代码谢谢!
您没有提到正在使用哪种主机语言,但是反斜杠通常是双引号字符串中的转义字符,因此,如果是通用语言,则可能需要双反斜杠
regexPattern="\\w{6}(AAAAA|BBBBB|CCCCC)"
或使用另一种方式来表达不需要转义字符的模式。 例如,在Python中,您可以在原始字符串前添加前缀:
regexPattern = r"\w{6}(AAAAA|BBBBB|CCCCC)"
尽管Python无论如何都不会将\\ w当作转义序列,但是它将对其他人有所帮助。
使用C#时,请使用@(verbatim字符串):
var regexPattern = @"\w{6}(AAAAA|BBBBB|CCCCC)";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.