java - 正则表达式接受正整数而不接受任何内容

标签 java regex

嗨,我在互联网上发现这个正则表达式接受正数 ^\d+$ 而这个不接受任何内容 ^$ 所以不,我想结合这两个正则表达式,但没有成功。我尝试了这个 (^\d+$)|(^$) 但这没有用。所以请帮助我使用正则表达式,它接受正整数而不接受任何内容 非常感谢

最佳答案

简单地做:

^\d*$

*意思是:“零次或多次”。

由于您提出的大多数问题都与 Java 标签有关,因此我假设您正在寻找 Java 解决方案。请注意,在字符串文字内,\需要逃脱!

演示:

class Test {
  public static void main(String[] args) {
    String[] tests = {"-100", "", "2334", "0"};
    for(String t : tests) {
      System.out.println(t + " -> " + t.matches("\\d*"));
    }
  }
}

产生:

-100 -> false
 -> true
2334 -> true
0 -> true

请注意matches(...)已经验证了整个输入字符串,因此无需使用 ^ “锚定”它和$ .

请注意,对于超过 Integer.MAX_VALUE 的数字,它也会返回 true和Long.MAX_VALUE 。所以即使 matches(...)返回 true,parseInt(...)parseLong(...)可能会抛出异常!

关于java - 正则表达式接受正整数而不接受任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595413/

相关文章:

python - 如何找出哪些字符被定义为给定语言环境的字母数字

javascript - 如何在正则表达式验证(javascript)中创建可选字段?

Java 正则表达式匹配器未给出预期结果

java - Spring framework : HTTP OPTIONS returning all METHODS (get, put, post, delete, trace, head, options)

java - 除了不可变值对象之外,我什么时候应该覆盖 `equals()` ?

java - detectorMultiScale 中的 OpenCV 断言错误

java - Java 泛型和 Scala 的交集……进展不顺利

java - 如何在 Spring Boot application.properties 中配置 Oracle RAC

regex - 语言独立 : Check if a string consists of a multiple of a certain substring

java - 将连续的字符串数据拆分为所需的垂直输出