重复Regexp that matches valid regexps
如何生成仅匹配有效正则表达式的正则表达式?
例如:"[hc]at"
有效(匹配"hat"
和"cat"
),但"[hcat"
无效,因为缺少]
。< / p>
答案 0 :(得分:2)
通常,不,因为嵌套的parens和括号等对,你需要一个递归的后代解析器(或类似的)来处理。
答案 1 :(得分:2)
使用正确的工具完成工作。更好的解决方案是使用您正在使用的语言的RegEx类。
类似的东西:
> Regex rx = new Regex("[INVALID REGEX
> HERE"); if(rx.Valid()) { ... }
答案 2 :(得分:1)
在Java中,您可以通过调用
来检查正则表达式// Create a pattern to match breaks
Pattern p = Pattern.compile("[,\\s]+");
如果表达式的语法无效,compile methode会抛出PatternSyntaxException