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