验证正则表达式Ruby/Ruby on Rails的正确性



假设我得到了这样的正则表达式:

/b[A-Z0-9._%a-zöäüÖÄÜ-]+@(?:[A-Z0-9a-zöüäÖÜÄ-]+.)+[A-Za-z]{2,4}z/

如何通过Ruby/RoR检查此字符串是否是有效的正则表达式?

如果它没有引发错误,那么它是一个有效的正则表达式。:)

def valid_regex?(str)
  Regexp.new(str)
  true
rescue
  false
end
valid_regex?('[a-b]') # => true
valid_regex?('[[a-b]') # => false

最新更新