C# C正则表达式总是返回FALSE

C# C正则表达式总是返回FALSE,c#,regex,C#,Regex,我需要下面的字符串返回TRUE。因此,任何6个字母后跟AAAA或BBB或CCCCC: regexPattern="\w{6}(AAAAA|BBBBB|CCCCC)" 但是给出上面的模式,我总是得到一个错误的回报。如何修复此模式以使其正常工作 所以基本上这个代码是有效的: TXCDTLAAAAA000 TXCDTLBBBBB111 TXCDTLCCCCC222 所以我现在正在修改代码 谢谢大家! 您没有提到您使用的是哪种主机语言,但反斜杠通常是双引号字符串中的转义字符,因此如果它是公共语言

我需要下面的字符串返回TRUE。因此,任何6个字母后跟AAAA或BBB或CCCCC:

regexPattern="\w{6}(AAAAA|BBBBB|CCCCC)"  
但是给出上面的模式,我总是得到一个错误的回报。如何修复此模式以使其正常工作

所以基本上这个代码是有效的:

TXCDTLAAAAA000
TXCDTLBBBBB111
TXCDTLCCCCC222
所以我现在正在修改代码
谢谢大家!

您没有提到您使用的是哪种主机语言,但反斜杠通常是双引号字符串中的转义字符,因此如果它是公共语言,则可能需要双反斜杠

    if (Regex.IsMatch("123456BBBBB", @"\w{6}(AAAAA|BBBBB|CCCCC)"))
    {
        //true
    }
或者使用另一种方式来表示不需要转义字符的模式。例如,在Python中,可以为原始字符串添加前缀:

 regexPattern="\\w{6}(AAAAA|BBBBB|CCCCC)" 
尽管Python不会将\w视为转义序列,但它会对其他人有所帮助

对于C,请使用@verbatim string来完成:

 regexPattern = r"\w{6}(AAAAA|BBBBB|CCCCC)"

您没有提到您使用的是哪种主机语言,但反斜杠通常是双引号字符串中的转义字符,因此,如果它是公共语言,则可能需要双反斜杠

    if (Regex.IsMatch("123456BBBBB", @"\w{6}(AAAAA|BBBBB|CCCCC)"))
    {
        //true
    }
或者使用另一种方式来表示不需要转义字符的模式。例如,在Python中,可以为原始字符串添加前缀:

 regexPattern="\\w{6}(AAAAA|BBBBB|CCCCC)" 
尽管Python不会将\w视为转义序列,但它会对其他人有所帮助

对于C,请使用@verbatim string来完成:

 regexPattern = r"\w{6}(AAAAA|BBBBB|CCCCC)"

共享代码。你是怎么配的?用什么语言?你用分隔符把它括起来了吗?你为什么不试试\w{6}aaaaaaa | BBBBB | CCCCC\d+这是C和d+没有任何区别:嗯,它在这里匹配:。。一定要检查你是否遗漏了什么。分享代码。你是怎么配的?用什么语言?你用分隔符把它括起来了吗?你为什么不试试\w{6}aaaaaaa | BBBBB | CCCCC\d+这是C和d+没有任何区别:嗯,它在这里匹配:。。请检查您是否遗漏了某些内容Python实际上是pat=re.compiler\w{6}?:AAAAA |?:BBBBB |?:CCCCC Python实际上是pat=re.compiler\w{6}?:aaaaaaa |?:bbbbbbb |?:CCCCC