在 Java 正则(Regex)里,“限定长度”通常有两种含义,下面分别说明:
常见做法是用 ^ 和 $ 锚定开头结尾,再用量词控制长度。
String regex = "^.{6,10}$";
. 表示任意字符(除换行){6,10} 表示 6 到 10 个^ 和 $ 保证整个字符串符合String regex = "^\\d{8}$";
String regex = "^[a-zA-Z]{3,12}$";
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 次
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(可能不是你想要的)
如果你有具体业务场景(比如手机号、身份证、密码规则),可以直接发出来,我帮你写完整正则。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。