如何匹配有界重复只有n和m次

时间:2011-12-28 04:47:24

标签: c++ regex boost

基于this

a{n}  Matches 'a' repeated exactly n times.

a{n,}  Matches 'a' repeated n or more times.

a{n, m}  Matches 'a' repeated between n and m times inclusive.

问题>如何匹配'a'正好重复n次或m次? 谢谢

3 个答案:

答案 0 :(得分:2)

非常简单:a{n}|a{m}:)

好吗?

答案 1 :(得分:1)

我想知道这是否可以解决问题:

a{n}|a{m}

但是,如果你匹配{m},我不确定你期望获得什么:你还想要{n}匹配吗?如果一个{n}在{m}中适合两次怎么办呢?

答案 2 :(得分:1)

我试着评论上面的答案(因为这与Mosty Mostacho提出的问题一致,但不能这样,我只会添加另一个答案。

我试图完成与OP相同的事情,答案非常有用:

a{n}|a{m}

所以,以防万一这会帮助其他人:我正在尝试匹配一年2或4位的字符串。 这不起作用,因为(我猜)正则表达式匹配\ d {2}并继续前进:

\d{2}|\d{4}

但这有效:

\d{4}|\d{2}

也许这对其他人来说是显而易见的。但只是我的0.02美元。