ColdFusion中格式错误的正则表达式

时间:2017-03-09 10:08:20

标签: regex coldfusion coldfusion-10

我的密码应至少包含以下列表中的一个特殊字符。

@ % + / ! # $ ^ ? : , { } ( ) [ ] ~ - _。

我在ColdFusion中使用下面的代码尝试了这个,但它却抛出了一个错误的错误:

  

格式错误的正则表达式" @%+ /!#$ ^?:,{}()[] ~`-_"

<cfif REFind("@%+/!##$^?:,{}()[]~`-_",arguments.myPassword) IS 0>
 // some business logic
</cfif>

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您的正则表达式格式不正确,因为[`-_] forms an invalid range

使用

<cfif REFind("[@%+/!##$^?:,{}()[\\]~`_.-]",arguments.myPassword) IS 0>

请注意

  • a [...]是一个字符类,它匹配类中定义的集合/符号的1个字符
  • -位于字符类的末尾,因此被视为文字-
  • 字符类中的
  • ]必须使用文字\
  • 进行转义