首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与正则表达式匹配的正则表达式

与正则表达式匹配的正则表达式
EN

Stack Overflow用户
提问于 2010-01-15 05:34:43
回答 7查看 604关注 0票数 3

有没有可能编写一个与正则表达式匹配的正则表达式?有谁有例子吗?如果有一些理论上的障碍,有没有人知道一个正则表达式至少可以匹配最常见的正则表达式模式?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-01-15 05:37:36

正则表达式不是正则语言,因此不能用正则表达式来描述!

更新:更有用的实用答案

无法使用任何正则表达式检测有效的正则表达式。要检测它的有效性,应该只使用regex库解析字符串,如果它是一个无效的正则表达式,那么它将失败。例如,在Java中,它可能是这样的:

代码语言:javascript
复制
boolean isValidRegexp(String s) {
  try {
    Pattern.compile(s);
    return true;
  } catch (Exception e) {
    return false;
  }
}

这项技术应该适用于几乎任何语言。

票数 17
EN

Stack Overflow用户

发布于 2010-01-15 05:42:46

你们都错了!在我的秘密实验室里,我邪恶的科学家发现了可以匹配任何正则表达式的正则表达式:

代码语言:javascript
复制
.*

它甚至会匹配空表达式。让我们看看你能不能做到这一点!

作为额外的好处,它甚至可以匹配非正则表达式的字符串。

票数 8
EN

Stack Overflow用户

发布于 2010-01-15 05:37:05

使用标准正则表达式是不可能的。

正则表达式可以无限嵌套(例如,/(a(b(c(d))))/),这是使用标准正则表达式无法匹配的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2067744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档