我把一个正则表达式保存在下面的变量里。
pattern_text = "/\A([^@\s]+)@((?:c-d+\.)+(in|com))\z/"。
"mailbox@c-d.in".match?(/\A([^@\s]+)@((?:c-d+\.)+(in|com))\z/) => returns true
Regexp.new(pattern_text) => returns /\/A([^@ ]+)@((?:c-d+.)+(in|com))z\//
"mailbox@c-d.in".match?(Regexp.new(pattern_text)) => returns false
把这个正则表达式保存到数据库时,\ 会自动消失。
我收到的正则验证器是字符串形式。为什么这个版本无法工作?
从英语翻译·查看原文I am keeping a regular expression in the following variable -
pattern_text = "/\A([^@\s]+)@((?:c-d+\.)+(in|com))\z/".
"mailbox@c-d.in".match?(/\A([^@\s]+)@((?:c-d+\.)+(in|com))\z/) => returns true
Regexp.new(pattern_text) => returns /\/A([^@ ]+)@((?:c-d+.)+(in|com))z\//
"mailbox@c-d.in".match?(Regexp.new(pattern_text)) => returns false
Saving this regular expression to my database automatically strips the \.
The regex validator that I receive arrives as a string. Why doesn't that version work?