gpt4 book ai didi

java - Java 中用于正整数的正则表达式(不包括以零开头的整数)

转载 作者:搜寻专家 更新时间:2023-11-01 01:18:53 25 4
gpt4 key购买 nike

我目前使用“(\d){1,9}”,但它无法使诸如“0134”之类的数字无效。该表达式必须只验证正整数的数字。谢谢。

最佳答案

现在您使用表达式 [0-9]{1,9},因此这显然允许数字 0134。当您想要要求第一个字符不是零时,您必须使用 [1-9][0-9]{0,8}

顺便说一句:0134 一个正整数。它是一个整数,而且是正数。 ;)

编辑:

为防止整数溢出,您可以使用此模式:

  • [1-9][0-9]{0,8}
  • [1-1][0-9]{9}
  • [2-2][0-1][0-9]{8}
  • [2-2][1-1][0-3][0-9]{7}
  • [2-2][1-1][4-4][0-6][0-9]{6}

我想你明白了。然后将这些表达式与 | 结合起来,就完成了。

或者,查看 Integer.valueOf(String) 方法,了解它如何解析数字并检查溢出。复制该代码并更改带有 NumberFormatException 的部分。

关于java - Java 中用于正整数的正则表达式(不包括以零开头的整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com