直接上代码
//验证是否为包含大小写字母和数字的8-16位密码
public static boolean isRightPwd(String pwdStr){
String reg = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(pwdStr);
return m.matches();
}
介绍
在Java中,Pattern 是 Java 正则表达式的基础类,用于编译正则表达式并匹配字符串。它通常与 Matcher 类一起使用来实现文本的搜索和替换等功能。下面是如何使用 Pattern 工具的基本步骤:
1.导入必要的包
import java.util.regex.Pattern;
import java.util.regex.Matcher;
2.创建一个模式对象
Pattern pattern = Pattern.compile("your_regex_here");
Pattern 是用来编译正则表达式的
其中 "your_regex_here" 是你需要编译的正则表达式(正则表达式规定了要查找,匹配的数据格式,不会写可以在网上找:最全常用正则表达式大全)
3.获取一个 Matcher 对象
Matcher matcher = pattern.matcher("string_to_search");
这里 "string_to_search" 是你要在其上应用正则表达式的字符串(在实例化 Matcher 对象时传入要操作的字符串)
4.使用 Matcher 对象的方法进行匹配或查找
查找是否匹配:
boolean matches = matcher.matches();
在字符串中查找:
boolean find = matcher.find();
5.如果需要进行分组提取,可以使用
调用 matcher.find() 方法可能会在字符串中找到多条符合条件的子字符串,可以通过如下方法现在获取第几条子字符串
if (matcher.find()) {
String group = matcher.group(1); // 提取第一个括号内的内容
}
示例:假设你想从一个字符串中找到所有的邮箱地址
String input = "Please contact us at support@example.com for more information.";
Pattern emailPattern = Pattern.compile("\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b");
Matcher emailMatcher = emailPattern.matcher(input);
while (emailMatcher.find()) {
System.out.println(emailMatcher.group());
}