给出一个非空的正则表达式和一个字符串,求该字符串是否能匹配该正则表达式。
这个正则表达式可能含有:
基本元素:空串(输入中不体现);单个小写字母(例如 a),匹配小写字母 a。
a
运算符:
ab
b
a|b
a*
a+
(a)
其中连接和或是二元运算符,闭包和正闭包是一元运算符。
所有运算符都是左结合的,即同等优先级的运算顺序从左到右。 闭包和正闭包的优先级最高,连接次之,或的优先级最低。
多组数据,每组数据两行:
对于每组数据,如果正则表达式能匹配该字符串,输出一行 Yes,否则输出一行 No。
Yes
No
输入:
aa a a* aa a+ a c*a*b aab ab*a bbb a(a|b+)*a aa a(a|b+)*a aababba a(a|cb+)*a aca a(a|cb+)*a acbbbaacba a(a|cb+)*a acbbbaacb ((a*)) aa
输出:
No Yes Yes Yes No Yes Yes No Yes No Yes
*
+