【发布时间】:2017-04-25 03:05:04
【问题描述】:
我有一个电子邮件正则表达式,我一直在 Javascript 中使用它并且工作正常,但是当我尝试在 Coldfusion 中使用它时出现错误。
正则表达式是:
<cfset regex = '^[a-zA-Z0-9.!#\$%&’*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:(\.[a-zA-Z0-9-]+)+)+$'>
我得到的错误是:
CFML 编译器正在处理:
以 /' 开头的表达式,第 28 行第 16 列。此消息是 通常是由表达式结构中的问题引起的。 cfset 标签 从第 28 行第 2 列开始。
它似乎在抱怨/,但我已经逃脱了\/。此外,据我所知,它不在第 16 列。当我在 / 之前或之后添加字符时,行号不会改变。例如,如果我在变量名中添加字符,就可以了。
我尝试过使用和不使用转义反斜杠,将正则表达式括在/.../ 和parens (^....$)。
正则表达式应该匹配一个有效的电子邮件地址,例如sample@me.com、another@some.sub.net等。
如果有空格或无效字符如:not@valid@email.com、' toomuch@space.com '或wrong.pattern@foo,则不匹配
有人知道我的错误在哪里吗?
【问题讨论】:
-
你需要像
'^[a-zA-Z0-9.!##\$一样转义哈希#。
标签: regex coldfusion