gpt4 book ai didi

java - Java 验证中的正则表达式帮助

转载 作者:行者123 更新时间:2023-12-01 08:15:41 25 4
gpt4 key购买 nike

嗨,我想做一些验证。我曾经在 JS 中放入正则表达式,但我对 Java 中的正则表达式很陌生,所以我尝试在 Java 中的类似行上编写代码。这就是我所做的。1)检查字符串中的第一个字符是否是字母数字。2)检查字符串是否至少有1个数字。

所以我写了一个代码,但它总是返回 false。我不确定我是否正确执行了此操作。

 private static boolean checkEmbeddedPassword(final String field) {
boolean returnValue=true;


String testpatternAlpha="/^[A-Za-z0-9].+$/";


String testNumber="/[0-9]/";
Pattern pattern=Pattern.compile(testpatternAlpha);
Pattern pattern2=Pattern.compile(testNumber);
Matcher matcher = pattern.matcher(field);
Matcher matcher2 = pattern2.matcher(field);
boolean firstChar=matcher.matches();
boolean numberFlag=matcher2.matches();
System.out.println("-----the value of pwd iss-----"+field);
System.out.println("---------Regex---------Out--put-----"+firstChar);
System.out.println("---------Regex---------Out- for numeral-put-----"+numberFlag);
if(firstChar){
returnValue=false;
}
else if(field.contains(" "))
{
System.out.println("-----------cannot have space------");
returnValue=false;
}
else if(numberFlag)
{
returnValue=false;
}
return returnValue;
}

最佳答案

Java 中不需要 / 前缀和后缀:

String testpatternAlpha="^[A-Za-z0-9].+$";


另外,在您的情况下,您需要使用 Matcher.find 而不是 Matcher.matches。您可以在 API 文档中阅读原因:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Matcher.html

关于java - Java 验证中的正则表达式帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13527688/

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