ColdFusion 中格式错误的正则表达式
Malformed regular expression in ColdFusion
我的密码应至少包含下表中的一个特殊字符。
@ % + / ! # $ ^ ? : , { } ( ) [ ] ~
- _.`
我使用以下代码在 ColdFusion 中尝试了此操作,但它抛出了硬错误:
Malformed regular expression "@%+/!#$^?:,{}()[]~`-_"
<cfif REFind("@%+/!##$^?:,{}()[]~`-_",arguments.myPassword) IS 0>
// some business logic
</cfif>
谁能帮我解决这个问题?
您的正则表达式格式不正确,因为 [`-_]
forms an invalid range.
使用
<cfif REFind("[@%+/!##$^?:,{}()[\]~`_.-]",arguments.myPassword) IS 0>
这里,注意
- a
[...]
是一个字符 class,匹配 class 中定义的 sets/symbols 中的 1 个字符
-
位于字符 class 的末尾,因此被视为文字 -
字符 class 中的 ]
必须使用文字 \
进行转义
我的密码应至少包含下表中的一个特殊字符。
@ % + / ! # $ ^ ? : , { } ( ) [ ] ~
- _.`
我使用以下代码在 ColdFusion 中尝试了此操作,但它抛出了硬错误:
Malformed regular expression "@%+/!#$^?:,{}()[]~`-_"
<cfif REFind("@%+/!##$^?:,{}()[]~`-_",arguments.myPassword) IS 0>
// some business logic
</cfif>
谁能帮我解决这个问题?
您的正则表达式格式不正确,因为 [`-_]
forms an invalid range.
使用
<cfif REFind("[@%+/!##$^?:,{}()[\]~`_.-]",arguments.myPassword) IS 0>
这里,注意
- a
[...]
是一个字符 class,匹配 class 中定义的 sets/symbols 中的 1 个字符
-
位于字符 class 的末尾,因此被视为文字-
字符 class 中的 ]
必须使用文字\
进行转义