正则表达式的语言与常规字符串之间的区别

时间:2014-11-17 17:21:21

标签: regex perl

我提出了以下CFG来表达所有正则表达式的语言。

S -> (S) | S* | S + S | SS | a | b

我的问题是上面的语言常规吗?我说不,因为平衡括号的语言不规则,但上面的语言包括平衡括号的语言。

只是想知道是否有人对此有更优雅和明确的答案。

1 个答案:

答案 0 :(得分:1)

正则表达式语言与常规字符串之间的区别

正则表达式是常规自动机,正则表达式表示一种语言规则,它告诉您给定的字符串是否满足规则,如果满足则它是常规字符串(由常规语言接受)因为满足常规自动机/正则表达式。 如果正则表达式不接受它,那么它不是常规语言的常规字符串。

Exp英语有正则表达式(常规自动机)作为语法规则和接受的字符串(语法正确的句子)是常规字符串。