【发布时间】:2016-10-20 21:19:12
【问题描述】:
在我的应用中,我将正则表达式存储在一个字段中 (value_regex) - 我如何检查该字段是否包含有效的正则表达式?
是否有 ruby 函数或正则表达式可以做到这一点?
编辑
根据下面的输入,在我的模型tag.rb 中我添加了:
validate :valid_regex
和下面的方法(我也想扩展另一个正则表达式字段key_regex。首先如何处理异常/错误。到目前为止我找不到文档:
def valid_regex
unless Regexp.new(value_regex)
errors.add(:value_regex, "not a valid regular expression")
end
end
或者更简单
def valid_regex
@valid_regex ||= Regexp.new(self.value_regex)
end
如何捕获 RegexpError(s) 并将消息作为错误输出(errors.ad?)?
【问题讨论】:
-
您将什么定义为有效的正则表达式? `.\+dac3.+' 也是有效的正则表达式,对吗?无论如何,使用正则表达式来验证正则表达式的想法并非闻所未闻。如果您愿意,请阅读此处。 stackoverflow.com/questions/172303/…
标签: ruby-on-rails ruby regex ruby-on-rails-5