regexPattern="\w{6}(AAAAA|BBBBB|CCCCC)"
我需要下面的字符串才能返回TRUE。因此,任何6个字母后跟AAAAA或BBBBB或CCCCC:
TXCDTLAAAAA000
TXCDTLBBBBB111
TXCDTLCCCCC222
但是给出上面的模式我总是得到一个假的回报。如何修复此模式才能正常工作?
所以基本上这段代码正在运行:
if (Regex.IsMatch("123456BBBBB", @"\w{6}(AAAAA|BBBBB|CCCCC)"))
{
//true
}
所以我现在正在修复代码 谢谢!
答案 0 :(得分:4)
您没有提到您使用的是哪种宿主语言,但反斜杠通常是双引号字符串中的转义字符,因此如果它是一种通用语言,则可能需要双反斜杠
regexPattern="\\w{6}(AAAAA|BBBBB|CCCCC)"
或者使用其他方式表达不需要转义字符的模式。例如,在Python中,您可以为原始字符串添加前缀:
regexPattern = r"\w{6}(AAAAA|BBBBB|CCCCC)"
尽管Python不会将\ w视为转义序列,但它会对其他人有所帮助。
使用C#使用@(逐字字符串)来完成它:
var regexPattern = @"\w{6}(AAAAA|BBBBB|CCCCC)";