如何使用语法或正则表达式识别以下字符串组?

时间:2013-04-03 21:53:20

标签: regex grammar combinatorics

我唯一注意到的是每个n的元素数量是Catalan Number

我们甚至只有n。 这份清单是无可争议的。

n=2
ab

n=4
aabb
abab

n=6
aaabbb
aababb
aabbab
abaabb
ababab

n=8
aaaabbbb
aaababbb
aaabbabb
aaabbbab
aabaabbb
aabababb
aababbab
aabbaabb
aabbabab
abaaabbb
abaababb
abaabbab
ababaabb
abababab

此列表可以通过以下python代码生成:http://pastebin.com/hynjWTrp

1 个答案:

答案 0 :(得分:4)

没有正则表达式,因为我们的语言不规律。

匹配a和b的通用形式与匹配括号相同,而且它是无Conext的语法:

S -> e | AS
A -> e | aAb

e是空字符串。