我一直在努力想弄清楚如何在ColdFusion中使用一个有效的REGEX,并修改它以验证字符串是否包含某些字符。
有问题的正则表达式是:
^[A-Z][\dA-Z]{3,3}[A-Z]${5}
以下是我尝试验证字符串的测试:
我要验证的字符串格式应为: AZZZE
所以,它应该通过 AZZZZ A123Z
失败了 0A23Z I123Z 一个 A12345
我似乎无法得到测试#5。
我已经阅读了Adam Cameron关于正则表达式和CF(http://blog.adamcameron.me/2012/12/regular-expressions-in-coldfusion-part_22.html)的优秀帖子,他提到了#34;字符集否定"就这样:
字符集否定 可以创建一个字符集,表示匹配除字符集中的内容之外的任何内容。 >这是通过使用^作为NOT运算符来实现的:
" C [^即] T"将匹配" cat"," cot"和" cut" (和" c_t"之类的东西),但是特别不匹配" cit"和" cet"。
所以我试了一些......
^(O|I)[A-Z][\dA-Z]{3,3}[A-Z]${5}
但现在它无法测试是否有O或I。
如果字符串中有O或我出现,我似乎无法让它失败。
如果O或I存在,如何让Regex(reFind,reFindNOCase,IsValid)实际指示字符串无效?
我承认,我非常喜欢这个东西。救命啊!
答案 0 :(得分:0)
你可能想写:
^[A-HJ-NP-Z][A-HJ-NP-Z0-9]{3}[A-HJ-NP-Z]$