我正在尝试编写一个正则表达式,以任意顺序连续匹配Ms和最多3 Ns
我使用了以下正则表达式:
((MM)*N{1,3})|(N{1,3}(MM)*)
每个术语都单独匹配,但是当我将|
放在它们之间时,似乎并不匹配两种可能性。我用http://regex101.com/来测试它。
正则表达式会匹配哪些?
答案 0 :(得分:2)
这与您拥有的所有示例相符:
(N{1,3}(MM)+)|((MM)+N{1,3})
但问题是,如果'最多3'应该包含zero
个实例?
修改:评论正确,删除了额外的加号。
答案 1 :(得分:1)
这对你有用吗?
(MMN{0,3})|(N{0,3}MM)