温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java regex怎么限定长度

发布时间:2026-10-04 20:04:11 来源:亿速云 阅读:100 作者:小樊 栏目:编程语言

在 Java 正则(Regex)里,“限定长度”通常有两种含义,下面分别说明:


一、限定整个字符串的长度

常见做法是用 ^ 和 $ 锚定开头结尾,再用量词控制长度。

示例:长度必须是 6~10 位

String regex = "^.{6,10}$";
  • . 表示任意字符(除换行)
  • {6,10} 表示 6 到 10 个
  • ^ 和 $ 保证整个字符串符合

示例:只能是数字,长度 8 位

String regex = "^\\d{8}$";

二、限定某个部分的长度

示例:用户名 3~12 位字母

String regex = "^[a-zA-Z]{3,12}$";

示例:密码 8~16 位,包含数字和字母

String regex = "^(?=.*[a-zA-Z])(?=.*\\d)[a-zA-Z\\d]{8,16}$";

三、限定单个字符出现的次数

"a{2,4}"   // a 出现 2 到 4 次
"a{3}"     // a 正好 3 次
"a{2,}"    // a 至少 2 次

四、在 Java 中使用示例

String input = "123456";
boolean match = input.matches("\\d{6}");
System.out.println(match); // true

⚠️ 注意:String.matches() 默认就是整串匹配,不需要写 ^ 和 $


五、常见坑

❌ 忘记转义:

"\\d{6}"  // 正确
"\d{6}"   // 错误

❌ 没加 ^$ 导致部分匹配:

"123456789".matches("\\d{6}"); // false(正确)
"123456789".matches(".*\\d{6}.*"); // true(可能不是你想要的)

如果你有具体业务场景(比如手机号、身份证、密码规则),可以直接发出来,我帮你写完整正则。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手