前言: Java使用正则表达式进行匹配,并对匹配结果逐个进行替换 下面代码示例,是将 下划线 替换成随机生成的 uuid public class TestUtil { public static void main(String[] args) { // 待匹配替换文本
前言:
Java使用正则表达式进行匹配,并对匹配结果逐个进行替换
下面代码示例,是将 下划线 替换成随机生成的 uuid
public class TestUtil {
public static void main(String[] args) {
// 待匹配替换文本
String html = "姓名:______;年龄:______;性别:______;";
// 正则表达式
String regex = "_+";
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(html);
StringBuffer stringBuffer = new StringBuffer();
// 将html中的下划线替换为该input标签
while (matcher.find()) {
// 匹配区间
String substring = html.substring(matcher.start(), matcher.end());
// 生成随机id,作为唯一标识
String uuid = IdUtil.simpleUUID();
// 将下划线替换为uuid
matcher.appendReplacement(stringBuffer, matcher.group().replace(substring, uuid));
}
// 最终结果追加到尾部
matcher.appendTail(stringBuffer);
// 最终完成替换后的结果
System.out.println(stringBuffer);
}
}
输出结果:
姓名:9b1abd66584940d0afa88d2a4f396cc0;
年龄:550161321a634b1abcd88c77e67f685a;
性别:d7714c1870bb44b8b5a7c61f35ed190e;
. 匹配任何字符,包括行终止符。默认情况下, 此表达式与行终止符不匹配。Dotall 模式也可以通过嵌入式标志表达式启用(?s)。(s 是“单行”模式的助记符,这在 Perl 中也被使用)。到此这篇关于Java使用正则表达式进行匹配且对匹配结果逐个替换的文章就介绍到这了,更多相关Java正则表达式匹配内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!
