您的位置:首页 > 编程语言 > Java开发

java 正则表达式工具类

2010-05-21 18:00 323 查看
//使用abstract目的是为了让使用者只能调用getInstance获取实例
public abstract class RegexUtil {

public static void main(String[] args) {
RegexUtil ru = RegexUtil.getInstance();
String regexp = "(//d+.//d+.//d+.//d+):(//d+)";
String data = "ldap://192.168.16.152:389/";
System.out.println(">>>" + ru.matchGroup(regexp, data).size());
}

public List<String> matchGroup(String regexp, String data) {
Pattern p = Pattern.compile(regexp);
Matcher matcher = p.matcher(data);
List<String> list = null;
while (matcher.find()) {
int length = matcher.groupCount();
list = new java.util.ArrayList<String>(length);
for (int i = 1; i < length + 1; i++) {
list.add(matcher.group(i));
}
}
return list;
}

private static RegexUtil ru = null;
//单太模式
public static RegexUtil getInstance() {
if (ru == null) {
ru = new RegexUtil() {
};
}
return ru;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: