正则表达式模式的正则表达式模式是什么?我使用的是Ruby版本1.8.7,并且需要确定给定的字符串是否为正则表达式模式。用于确定此问题的最佳模式是什么?
谢谢, 阿南德
答案 0 :(得分:6)
任何单词都可以是正则表达式。字符串“cat”可以编译为正则表达式模式。你可以这样做:
def is_regex?(str)
Regexp.new(str) rescue false
end
答案 1 :(得分:2)
没有一个,因为正则表达式本身不是常规语言(由于匹配括号等内容)。
如果你想确定某些东西是否是有效的正则表达式,我建议你只是尝试将它编译为正则表达式,看它是否失败。
答案 2 :(得分:0)
假设正则表达式模式是一个带有两个正斜杠的字符串,/
定义模式,那么在模式的开头和结尾找到带有两个向前斜杠的模式的正则表达如下:
(\/(?:.)*\/(?:i|g|s|m|U)*)