Java常用正则工具类
正则表达式是一种用于匹配、查找和替换字符串的强大工具。在Java中,可以使用正则表达式来进行字符串的模式匹配,如验证手机号码、邮箱地址、身份证号码等。为了方便开发者使用正则表达式,有很多常用的正则工具类可供选择。本文将介绍一些常用的Java正则工具类,并给出相应的代码示例。
1. Java正则工具类
1.1 Pattern类
Java中的正则表达式功能主要由Pattern类提供。Pattern类表示一个编译后的正则表达式,用于进行匹配操作。
代码示例:
import java.util.regex.Pattern;
public class PatternDemo {
public static void main(String[] args) {
String regex = "\\d+"; // 匹配数字
String input = "123456";
// 编译正则表达式
Pattern pattern = Pattern.compile(regex);
// 进行匹配操作
boolean isMatch = pattern.matcher(input).matches();
System.out.println(isMatch); // true
}
}
1.2 Matcher类
Matcher类是Pattern类的匹配器对象,用于对字符串进行匹配操作。Matcher类提供了很多方法来进行字符串匹配,如find()、start()、end()等。
代码示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherDemo {
public static void main(String[] args) {
String regex = "java";
String input = "Java is a programming language. Java is widely used.";
// 编译正则表达式
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
// 创建Matcher对象
Matcher matcher = pattern.matcher(input);
// 查找匹配的字符串
while (matcher.find()) {
System.out.println("匹配的字符串:" + matcher.group());
System.out.println("匹配的起始位置:" + matcher.start());
System.out.println("匹配的结束位置:" + matcher.end());
}
}
}
2. 常用的正则工具类
2.1 StringUtils类
StringUtils类是Apache Commons Lang库中的一个工具类,提供了很多常用的字符串处理方法,包括正则表达式的相关操作。
代码示例:
import org.apache.commons.lang3.StringUtils;
public class StringUtilsDemo {
public static void main(String[] args) {
String input = "Java is a programming language. Java is widely used.";
// 判断字符串是否匹配正则表达式
boolean isMatch = StringUtils.containsPattern(input, "Java.*language");
System.out.println(isMatch); // true
// 替换字符串中的匹配部分
String result = StringUtils.replacePattern(input, "(Java).*?(language)", "$1 $2");
System.out.println(result); // Java language is widely used.
}
}
2.2 Guava库
Guava是Google提供的一个Java工具库,其中也包含了正则表达式的相关工具类。
代码示例:
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
public class GuavaDemo {
public static void main(String[] args) {
String input = "Java,is,a,programming,language";
// 拆分字符串
Iterable<String> result = Splitter.on(',')
.trimResults()
.omitEmptyStrings()
.split(input);
System.out.println(Iterables.toString(result)); // [Java, is, a, programming, language]
}
}
3. 总结
本文介绍了Java中常用的正则工具类,并给出了相应的代码示例。通过使用这些工具类,我们可以方便地进行字符串的模式匹配、查找和替换操作,提高开发效率。在实际开发中,我们可以根据具体的需求选择合适的工具类来完成相应的任务。
旅行图:
journey
title Java常用正则工具类
section 定义
Java常用正则工具类是用于进行字符串的模式匹配、查找和替换操作的工具类。
section 工具类
Pattern类 --> Matcher类 : 匹配操作
StringUtils类 --> Pattern类 : 判断和替换操作
Guava库