首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有可能让regexp匹配所有有效的正则表达式?

有没有可能让regexp匹配所有有效的正则表达式?
EN

Stack Overflow用户
提问于 2010-05-26 01:19:22
回答 3查看 218关注 0票数 6

是否可以仅使用正则表达式来检测给定字符串是否为有效的正则表达式?

假设我有一些字符串,可能是有效的正则表达式,也可能不是。我希望有一个正则表达式来匹配那些对应于有效正则表达式的字符串。这有可能吗?或者我必须使用一些高级语法(即上下文无关语言)来检测这一点?如果我使用一些扩展版本的regexp,比如Perl regexp,会有影响吗?

如果可能,那么匹配regexp的regexp是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-26 01:22:18

不,这不可能。这是因为有效的正则表达式涉及分组,这需要使用对齐的圆括号。

平衡分隔符不能与正则表达式匹配;它们必须与context-free grammar匹配。(该文章中的first example处理对齐括号。)

票数 8
EN

Stack Overflow用户

发布于 2010-05-26 01:28:58

在这里看一篇很棒的文章:

Regular expression for regular expressions?

答案是,正则表达式不是使用常规语法编写的,而是使用上下文无关的语法编写的。

票数 1
EN

Stack Overflow用户

发布于 2010-05-28 19:01:18

如果您的问题是“匹配所有有效的正则表达式”,答案(可能令人惊讶)是“是”。正则表达式.*匹配所有有效(和无效)正则表达式,但对于确定是否正在查找有效正则表达式非常无用。

然而,由于问题是“匹配所有且仅有效的正则表达式”,答案是(因为DVK和白金Azure“已经说了‘否’。

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

https://stackoverflow.com/questions/2906848

复制
相关文章

相似问题

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