首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regexp解析类型3语法

Regexp解析类型3语法
EN

Stack Overflow用户
提问于 2012-02-13 22:11:47
回答 1查看 412关注 0票数 1

正在读取Chomsky hierarchy ...我知道regexp不能解析类型2语法(上下文无关语法),也不能解析类型1和类型0。正则表达式可以解析/捕获所有类型3语法(regular grammars)吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-13 22:33:02

是的,只要它们支持交替、连接和Kleene星型。PCRE的正则表达式就是这种情况(Perl/Java/JavaScript/PHP/...)类型: alternation由((...)|(...))实现,concatenation由(...)(...)实现,Kleene star由(...)*实现。(还有一些其他细节-在大多数这些语言中,您需要使用\A\z之类的东西来指示“字符串的开始”和“字符串的结束”,这在常规语法中是理所当然的-但这就是我们的想法。)

但在编程环境中,并非所有被称为“正则表达式”的东西都必须具备上述所有条件;例如,POSIX Basic Regular Expressions只支持一种非常有限的交替形式,其中所有交替的“分支”都由单个字符组成(例如,PCRE既有(a|b|c)又有特例等价的[abc],而POSIX BREs只有[abc],所以不能表达像(ab|c)这样的东西)。

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

https://stackoverflow.com/questions/9261972

复制
相关文章

相似问题

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