7
{m} {n}(“正好n次”两次)如何工作?
因此,以某种方式(玩转),我发现自己使用了regex这样的正则表达式\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}或相似,可以看到相似的结果。 为什么会这样?它是在regex / Java文档中的某个地方明确声明的,还是只是Java开发人员即时做出的决定,还是可能是一个错误? 还是实际上不被忽略而实际上意味着完全其他的东西? 并不是很重要,但这不是全面的正则表达式行为,Rubular会执行我所期望的。 注意-标题主要是为希望了解其工作原理(而非原因)的用户提供可搜索性。