Java 如何在blackberry({m,n})上使用量词regex模式

Java 如何在blackberry({m,n})上使用量词regex模式,java,regex,blackberry,blackberry-eclipse-plugin,Java,Regex,Blackberry,Blackberry Eclipse Plugin,嗨,我正试图用:lib编写一个验证类,因为答案是这样的 我做了什么 String id = "123456789"; String pattern = "\\d{7,8}"; public boolean validate(String id,String pattern){ RE regular_expresion = new RE("\\d{7,8}"); return regular_expresion.match(id); } 该代码应该返回带有该“id”的f

嗨,我正试图用:lib编写一个验证类,因为答案是这样的

我做了什么

String id = "123456789";

String pattern = "\\d{7,8}";

public boolean validate(String id,String pattern){


    RE regular_expresion = new RE("\\d{7,8}");

    return regular_expresion.match(id);
}
该代码应该返回带有该“id”的false,因为模式应该只接受7到8位数字。但是,如果使用id=“1234567”返回true,则代码接受7位或更多数字

这个{m,n}正在作为一个{n,}工作。


以前有人有过这个问题吗?

表达式
\\d{7,8}
的意思是:

  • 查找字符串中的任何位置
  • 仅由数字组成的字符串
  • 至少包含7个字符,但不超过8个字符
这适用于
1234567
,因为这是一个由7位数字组成的字符串,也适用于
123456789
,因为该字符串也包含一个由7位或8位数字组成的字符串


将表达式更改为
^\\d{7,8}$
仅当整个字符串从头到尾仅由数字组成且字符串长度为7或8时,才能获得正结果。

Wow因此,即使该方法具有该模式的子字符串,该方法也会返回true。对不起,谢谢你,莫菲。