{m}{n}(“恰好 n 次”两次)如何工作?
因此,以某种方式(玩弄),我发现自己有一个像.\d{1}{2}
从逻辑上讲,对我来说,它应该意味着:
(一个数字正好一次)正好两次,即一个数字正好两次。
但实际上,它似乎只是意味着“一个数字恰好一次”(因此忽略了)。{2}
String regex = "^\\d{1}{2}$"; // ^$ to make those not familiar with 'matches' happy
System.out.println("1".matches(regex)); // true
System.out.println("12".matches(regex)); // false
使用或类似方法可以看到类似的结果。{n}{m,n}
为什么会发生这种情况?它是否在某个地方的正则表达式/ Java文档中明确说明,或者它只是Java开发人员即时做出的决定,或者它可能是一个错误?
还是它实际上没有被忽视,它实际上意味着完全不同的东西?
不是说这很重要,但它不是全面的正则表达式行为,Rubular做了我所期望的。
注意 - 标题主要用于了解其工作原理(而不是原因)的用户的可搜索性。