我正在做有关正则表达式的练习,但我真的不确定如何做到这一点。
正则表达式为:
((a*)(b*))* ∪ (a*)
我真的很不擅长,但我认为 ((a*)(b*))*
可以简化为 (a ∪ b)*
但是如果这是正确的,那么最后一个 ∪ (a*)
实际上只是一个重复,所以我认为整个表达式可以简化为 (a ∪ b)*。
这看起来正确吗?
编辑:∪代表并集
最佳答案
你是对的。 (a*b*)*
可以匹配 a 和 b 的任意字符串,(a U b)*
也可以,因此它们是等价的。 (a U b)*
相交 a*
是 a*
所以 a*
是 的子集(a U b)*
。因此,整个表达式可以简化为(a U b)*
。
关于regex - 简化正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23566410/