Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从00001到99999的正则表达式_Java_Regex - Fatal编程技术网

Java 从00001到99999的正则表达式

Java 从00001到99999的正则表达式,java,regex,Java,Regex,我正在使用正则表达式,我想要从00001到99999的数字。它应该有5个数字 我知道我可以使用[0-9]{5},但我有编号00000,但它应该从00001开始 (?!00000)[0-9]{5} 说明: 负前瞻(?!00000)-断言正则表达式与它不匹配 [0-9]介于0和9之间的单个字符 {5} 精确匹配5次 说明: 负前瞻(?!00000)-断言正则表达式与它不匹配 [0-9]介于0和9之间的单个字符 {5} 精确匹配5次 前缀(?!00000)可确保不匹配;这叫做消极前瞻。 现场

我正在使用正则表达式,我想要从
00001
99999
的数字。它应该有5个数字

我知道我可以使用
[0-9]{5}
,但我有编号
00000
,但它应该从
00001
开始

(?!00000)[0-9]{5}
说明:

  • 负前瞻(?!00000)-断言正则表达式与它不匹配
  • [0-9]介于0和9之间的单个字符
  • {5} 精确匹配5次
说明:

  • 负前瞻(?!00000)-断言正则表达式与它不匹配
  • [0-9]介于0和9之间的单个字符
  • {5} 精确匹配5次
前缀
(?!00000)
可确保不匹配;这叫做消极前瞻。 现场演示

前缀
(?!00000)
可确保不匹配;这叫做消极前瞻。
实时演示。

这个相当难看的regexp要求5位数字中至少有一位不是零。因此,唯一失败的5位数字是00000。但我认为一定有更优雅的方式


^([1-9]\d{4}\d[1-9]\d{3}\d{2}[1-9]\d{2}\d{3}[1-9]\d{4}[1-9])$
这个相当难看的regexp要求5位数字中至少有一位不是零。因此,唯一失败的5位数字是00000。但我认为一定有更优雅的方式


^([1-9]\d{4}\d[1-9]\d{3}\d{2}[1-9]\d{2}\d{3}[1-9]\d}\d{4}[1-9])$

[0-9]{4}[1-9]
?@Maroun
10000/code>这不是最好的解决方案吗?如果你转换成一个实际的数字,你只需检查它是否是
=1
@jornsharpe啊,误解了OP的问题。
[0-9]{4}[1-9]
?@Maroun
10000
呢?也许regex不是最好的解决方案?如果你转换成一个实际的数字,你只需检查它是否是
=1
@jornsharpe啊,误解了OP的问题。它是否匹配
1
?如果它适合你并且在类似答案之前出现,你可以将它标记为答案:)它是否匹配
1
?如果它适合你并且在类似答案之前出现,您可以将其标记为答案:)非常感谢,这很有效!谢谢你的解释非常感谢,这很有效!谢谢你的解释
(?!00000)[0-9]{5}