有没有可能编写一个与正则表达式匹配的正则表达式?有谁有例子吗?如果有一些理论上的障碍,有没有人知道一个正则表达式至少可以匹配最常见的正则表达式模式?
发布于 2010-01-15 05:37:36
正则表达式不是正则语言,因此不能用正则表达式来描述!
更新:更有用的实用答案
无法使用任何正则表达式检测有效的正则表达式。要检测它的有效性,应该只使用regex库解析字符串,如果它是一个无效的正则表达式,那么它将失败。例如,在Java中,它可能是这样的:
boolean isValidRegexp(String s) {
try {
Pattern.compile(s);
return true;
} catch (Exception e) {
return false;
}
}这项技术应该适用于几乎任何语言。
发布于 2010-01-15 05:42:46
你们都错了!在我的秘密实验室里,我邪恶的科学家发现了可以匹配任何正则表达式的正则表达式:
.*它甚至会匹配空表达式。让我们看看你能不能做到这一点!
作为额外的好处,它甚至可以匹配非正则表达式的字符串。
发布于 2010-01-15 05:37:05
使用标准正则表达式是不可能的。
正则表达式可以无限嵌套(例如,/(a(b(c(d))))/),这是使用标准正则表达式无法匹配的。
https://stackoverflow.com/questions/2067744
复制相似问题