【发布时间】:2020-03-03 05:23:04
【问题描述】:
我知道正则表达式包可以识别比常规语言更广泛的语言,但是在Python regex to find arithmetic expressions in text strings 中使用递归正则表达式让我想知道是否可以识别任何上下文无关语言使用正则表达式,如果没有,有人可以提供一个反例吗?
【问题讨论】:
-
我不太确定这是您要求的,但它可能会有所帮助:nikic.github.io/2012/06/15/… 基本上,该帖子显示了如何使用递归将 CFG 转换为正则表达式。不同之处在于,那里使用的递归更高级。
-
@Jannik:看起来像是对我的回答 :)
-
请注意,“正则表达式”可以表示不同的含义;并非所有正则表达式引擎都实现相同的功能集。如果您对 Python 正则表达式特别感兴趣,最好指定它(即使相同的答案适用于各种其他正则表达式引擎)。
标签: regex regular-language context-free-language