//函数原型如下
//第一个参数就是正则表达式,第二个参数就是你要替换的值
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
测试:
public class Main {
public static void main(String[] args) {
String regex_ = ".*(/storage/[a-zA-Z0-9]{32}).*";
String path = "ssss/storage/C5F7465B3871D1F37FAD11F5E5C45B6Asssss";
path = path.replaceAll(regex_,"$1");
System.out.println(path);
}
}
输出:
/storage/C5F7465B3871D1F37FAD11F5E5C45B6A
replacement参数 $1
代表 regex 里面第一个捕获性分组 捕获到的内容,就是regex中小括号()中的内容
对于上述案例中的例子
指path中只留下(/storage/[a-zA-Z0-9]{32}) 匹配括号中的字符串