我需要用Java编写一个正则表达式,它涵盖以下场景
6-10个字符之间
必须至少为一个数字
有人告诉我应该在正则表达式中使用Unicode约定,因为输入可能在许多语言中都有。
有人能帮上忙吗?
发布于 2011-12-18 05:47:40
对于字符串长度,只需使用.length()
方法。对于匹配,使用\p{Digit}
,这应该做你想做的事情,并且比\d
涵盖的更多(尽管我看不出是什么)。
所以:
final Pattern p = Pattern.compile("\\p{Digit}");
//...
if (input.length() < 6 || input.length() > 10)
//fail
if (!p.matcher(input).find())
//fail
// Success!
https://stackoverflow.com/questions/8548117
复制相似问题