重复的Regexp that matches valid regexps
你如何产生匹配唯一有效的正则表达式一个正则表达式?
例如:"[hc]at"
将是有效的(匹配"hat"
和"cat"
),但"[hcat"
将是无效的,因为它缺少]
。
重复的Regexp that matches valid regexps
你如何产生匹配唯一有效的正则表达式一个正则表达式?
例如:"[hc]at"
将是有效的(匹配"hat"
和"cat"
),但"[hcat"
将是无效的,因为它缺少]
。
在一般情况下,没有,因为嵌套对括号和支架等的,是你需要一个递归后裔解析器(或类似)来处理事情。
在Java中,你可以通过调用
// Create a pattern to match breaks
Pattern p = Pattern.compile("[,\\s]+");
编译梅索德检查正则表达式抛出PatternSyntaxException如果表达式的语法无效
使用正确的工具的工作。一个更好的解决办法是使用正则表达式类,你所使用的语言。
喜欢的东西:
> Regex rx = new Regex("[INVALID REGEX
> HERE"); if(rx.Valid()) { ... }
奇怪的是,原来的问题得到了26张选票和重复的问题(错误)得-2 – Catalin 2014-02-21 10:23:44