Java正则表达式函数完美应用
发布时间:2023-06-06 09:56:21
Java正则表达式是一种文本处理的强有力工具,可以用于字符串匹配、替换、分解和检查等多种操作。在Java中,使用正则表达式需要使用java.util.regex包提供的类和接口,其中最重要的是Pattern和Matcher类。
Pattern类用于创建正则表达式模式,其中提供了一系列静态方法,用于编译创建正则表达式模式,并返回一个Pattern对象。常用的静态方法有compile(String regex)和matches(String regex, CharSequence input)。
Matcher类用于匹配正则表达式模式和目标字符串,Matcher类的实例都是由Pattern类创建的,其中提供了一系列方法,用于匹配正则表达式模式和目标字符串,并返回一个布尔值表示是否匹配成功。常用的方法有find()和find(int start)。
下面将介绍Java正则表达式的一些常用应用场景:
1. 验证手机号码
手机号码是11位数字,以1开头,可以分为3-4-4位进行显示。可以使用下面的正则表达式验证手机号码。
boolean isMobile(String number) {
String pattern = "^1[3|4|5|8][0-9]\\d{4,8}$";
return number.matches(pattern);
}
2. 验证邮箱地址
可以使用下面的正则表达式验证邮箱地址。
boolean isEmail(String email) {
String pattern = "^(\\w)+(\\.-]?\\w+)*@(\\w)+(\\.(\\w)+)+$";
return email.matches(pattern);
}
3. 提取网页中的链接
可以使用下面的正则表达式提取网页中的链接。
List<String> getLinks(String html) {
List<String> links = new ArrayList<>();
String pattern = "<a[^>]*\\s*href\\s*=\\s*\"([^\"]*)\"";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(html);
while (m.find()) {
links.add(m.group(1));
}
return links;
}
4. 提取手机号码
可以使用下面的正则表达式提取手机号码。
List<String> getMobiles(String text) {
List<String> mobiles = new ArrayList<>();
String pattern = "[1]\\d{10}";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(text);
while (m.find()) {
mobiles.add(m.group());
}
return mobiles;
}
5. 替换敏感词
可以使用下面的正则表达式替换敏感词。
String replaceWords(String text) {
String pattern = "(色情|赌博|毒品|暴力|淫秽)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(text);
String result = m.replaceAll("***");
return result;
}
Java正则表达式的应用广泛,可以用于字符串匹配、替换、分解和检查等多种操作。在实际开发中,如果能巧妙使用正则表达式,不仅可以提高开发效率,还能使代码更加简洁高效。
