Unicode的正则表达式,我需要用Java编写涵盖以下情况下在Java中
间6-10个字符
必须至少有一个数字
我已被告知,正则表达式我应该在正则表达式中使用Unicode约定,因为输入可能有很多种语言
任何人都可以帮忙吗?
Unicode的正则表达式,我需要用Java编写涵盖以下情况下在Java中
间6-10个字符
必须至少有一个数字
我已被告知,正则表达式我应该在正则表达式中使用Unicode约定,因为输入可能有很多种语言
任何人都可以帮忙吗?
对于字符串长度,只需使用.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!
将使用。长度() 以下失败 '公共类PasscodeValidator { 最终静态图案P = Pattern.compile( “\\ p {数字}”); \t \t 公共静态布尔validatePasscode(字符串密码){ \t \t返回p.matcher(密码).lookingAt(); \t} \t \t 公共静态无效的主要(字串[] args){ \t \t的System.out.println(validatePasscode( “B1”)); \t} }' 任何想法? – user964283 2011-12-17 22:02:13
啊!它应该是'.find()',而不是'.lookingAt()'!回答相应编辑。 – fge 2011-12-17 22:05:50
工作,谢谢 – user964283 2011-12-17 22:09:21
目前只有很少的机会,你可以在这里得到帮助,因为你没有显示你有什么到目前为止已经试过。你需要包括你的努力和你的问题。 – Lion 2011-12-17 21:46:39