对一元字母进行反向引用的正则表达式


18

设置:

  • 具有反向引用的正则表达式
  • 一元语言(1个符号的字母)

在此设置中是否可以确定以下问题:

  • 给定带有反向引用的正则表达式,它是否定义了正则语言?

例如,(aa+)\1定义一种常规语言,而(aa+)\1+没有。我们可以决定是哪种情况吗?


为了具体起见,“带有反向引用的正则表达式”在这里指的是例如与Perl兼容的常规正则表达式的以下子集:

  • a匹配字符a(字母中唯一的字符)
  • X* 匹配0个或多个出现 X
  • X|Y比赛XY
  • 括号可用于分组和捕获
  • \1\2等匹配与第一对,第二对等括号相同的字符串

我们还可以使用常规的简写形式,例如X+= XX*


1
您是否探索过计数方法,即检查的顺序?L n | ?我想你对弗雷登伯格的工作很熟悉吗?|大号ñ|
拉斐尔

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.