gpt4 book ai didi

java - 正则表达式匹配 10-15 位数字

转载 作者:搜寻专家 更新时间:2023-10-30 21:00:03 25 4
gpt4 key购买 nike

我正在使用以下正则表达式:

 Pattern testPattern= Pattern.compile("^[1-9][0-9]{14}");
Matcher teststring= testPattern.matcher(number);

if(!teststring.matches())
{
error("blah blah!");
}

我的要求是:

  1. 要匹配 10-15 位数字,该数字不应以 0 开头,其余所有数字都应为数字。
  2. 如果输入以零开头的 10-15 位数字,则测试字符串与模式不匹配。显示我的验证错误等等。
  3. 我的问题是,如果我输入不以零开头的 10-15 位数字,则会显示验证错误消息。

我是否遗漏了正则表达式中的任何内容?

最佳答案

使用 "^[1-9][0-9]{14}" 您匹配的是 15 数字,而不是 10-15 数字。 {14} 量词将完全匹配 14 先前模式的重复。使用 {m,n} 量词给出一个范围:

"[1-9][0-9]{9,14}"

您不需要将 anchor Matcher#matches() 一起使用方法。 anchor 是隐含的。同样在这里你可以直接使用 String#matches()方法:

if(!teststring.matches("[1-9][0-9]{9,14}")) {
// blah! blah! blah!
}

关于java - 正则表达式匹配 10-15 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410950/

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