我需要构建正则表达式以匹配以下字符串:
等
我按如下方式构建:C(redit)?C(ard)?N(um|umber)?
它与“ CreditCardNumber ”字符串不匹配
我也尝试过:C(redit)?C(ard)?N(:?um|umber)
没有成功
答案 0 :(得分:7)
您的模式很好,您需要添加的是:(?i)
在开头
或IgnoreCase。 RegexOptions.IgnoreCase
注意:由于您不需要捕获“redit”或“ard”,因此非捕获组(?:...)
更好:
(?i)C(?:redit)?C(?:ard)?N(?:um(?:ber)?)?
如果你想对案件有更多控制权:
C(?i:redit)?C(?i:ard)?N(?i:um(?:ber)?)?
为了更加安全,您可以在模式的开头和结尾添加单词边界\b
答案 1 :(得分:2)
尝试
(?i)C(?:redit)?C(?:ard)?N(?:um(?:ber)?)?
(?i)
是为了让你的正则表达式不敏感。