gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:30:07 25 4
gpt4 key购买 nike

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# 中使用 @(逐字字符串)来完成它:

 var regexPattern = @"\w{6}(AAAAA|BBBBB|CCCCC)";

关于C# 正则表达式总是返回 FALSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24746826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com