package com.xxx.util;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexUtil {
/**
* 编译一个正则表达式
*
* @param regex
* @return
*/
public static Pattern compile(String regex, boolean isInsensitive) {
if (true == isInsensitive) {
return Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
} else {
return Pattern.compile(regex);
}
}
/**
* 返回一个mathcer
*
* @param regex
* @param content
* @return
*/
public static Matcher matcher(String regex, String content) {
return compile(regex, true).matcher(content);
}
/**
* 匹配第一个
*
* @param regex
* @param content
* @return
*/
public static String matchOne(String regex, String content) {
String match = null;
Matcher m = matcher(regex, content);
while (m.find()) {
match = m.group().trim();
break;
}
return match;
}
/**
* 匹配第一个
*
* @param regex
* @param content
* @param regexGroup 正则分组号
* @return
*/
public static String matchOne(String regex, String content, int regexGroup) {
String match = null;
Matcher m = matcher(regex, content);
while (m.find()) {
match = m.group(regexGroup).trim();
break;
}
return match;
}
/**
* 匹配所有
*
* @param regex 正则表达式
* @param regexGroup 分组号
* @param content 要进行匹配的内容
* @return
*/
public static List<String> matchAll(String regex, String content, int regexGroup) {
List<String> list = new LinkedList<String>();
Matcher m = matcher(regex, content);
while (m.find()) {
list.add(m.group(regexGroup));
}
return list;
}
public static List<String> matchAll(String regex, String content) {
List<String> list = new LinkedList<String>();
Matcher m = matcher(regex, content);
while (m.find()) {
list.add(m.group());
}
return list;
}
/**
* 判断是否匹配,返回布尔值
* 说明:
*
* @param regex
* @param content
* @return
*/
public static boolean matches(String regex, String content) {
Matcher matcher = matcher(regex, content);
boolean bool = matcher.matches();
return bool;
}
public static List<String> toList(String regex, String source) {
List<String> list = new LinkedList<String>();
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(source);
while (m.find()) {
list.add(m.group(1));
}
return list;
}
}
java 正则工具类RegexUtil
最新推荐文章于 2025-12-04 02:11:39 发布
本文介绍了一个实用的正则表达式工具类,包括编译正则表达式、获取Matcher对象、匹配第一个结果、匹配所有结果及判断是否匹配等功能。通过这个工具类,可以简化正则表达式的使用过程,提高代码的可读性和维护性。
739

被折叠的 条评论
为什么被折叠?



