• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何解析java中的范围输入

java 来源:steve lin 3次浏览

我想解析Java中的一系列数据(例如100-2000)。这段代码是否正确:如何解析java中的范围输入

String patternStr = "^(\\\\d+)-(\\\\d+)$"; 
    Pattern pattern = Pattern.compile(patternStr); 
    Matcher matcher = pattern.matcher(inputStr); 
    if(matcher.find()){ 
    // Doing some parser 
    } 

===========解决方案如下:

不,你是双倍(好,四倍) – 转义数字。

它应该是:"^(\\d+)-(\\d+)$"

含义:

  • 开始输入的:^
  • 组1:1+位(S):(\\d+)
  • 连字符字面:-
  • 组2:1+位(S) :(\\d+)
  • 输入结束:$

备注

这些组适用于反向引用。这里你没有使用,所以你可以围绕\\d+表达式放弃括号。

在此示例中,您正在解析范围的表示

如果你想要一个实际的范围类,你可以使用[min-max]成语,其中“min”和“max”是数字,例如[0-9]

正如由Andreas提到的,你可以使用String.matches没有PatternMatcher成语和^$,如果你想整个输入相匹配。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)