我仍然是正则表达式的菜鸟,但有人会非常友好地仔细检查我的答案是否正确?
问题是:指出每个给定的输入字符串是否属于正则表达式(a | empty) b (a | b)* a (b)*
空=翻转3(空字符串)
(a) input string: ababaa
Answer: Does not belong to the regex
because if tested, turns out to be ababab
(b) input string: aabbaa
Answer: Does not belong to the regex
Because if tested, turns out to be ab(b or a)* ab
这些答案是否正确?
答案 0 :(得分:1)
第二个字符串不属于该语言。如果查看正则表达式,可以看到b必须是第一个字符(if(a | empty)选择为空),或者必须是第二个字符(if(a | empty)选择a)。由于字符串以aa开头,因此无法匹配。
第一个字符串匹配。试着弄清楚每个选择点,以便获得提供的字符串。它可能有助于从外部工作,因为(a | b)*是正则表达式中最灵活的部分 - 即你可以匹配你想要的任何东西。
答案 1 :(得分:0)
您只需运行它们即可仔细检查您的答案。这是一个完全相同的网站:http://regex.larsolavtorvik.com/