java里如何替换js里的reg.exec()

reg.exec(para)匹配后返回一个数组,java里有可以替代的方法吗
2025-04-30 12:10:14
推荐回答(1个)
回答1:

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class App {

public static void main(String[] args){

String[] matchs = Exec("a(bc)(def)(gh)","abcdefghi");

System.out.println(matchs!=null ? Arrays.asList(matchs) : null);

}

// 模拟reg.exec 捕获分组
private static String[] Exec(String reg,String para){

Pattern regExp = Pattern.compile(reg);

Matcher match = regExp.matcher(para);

int count = match.groupCount() + 1;

String[] matchs = new String[count]; 

if(match.find()){
for(int i=0;i matchs[i] = match.group(i);
return matchs;
}

return null;

}

}