java 正则替换内容_Java基于正则表达式实现的替换匹配文本功能【经典实例】

本文实例讲述了Java基于正则表达式实现的替换匹配文本功能。分享给大家供大家参考,具体如下:

package replaceDemo;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* Created by Frank

* 替换匹配的文本

*/

public class ReplaceDemo {

public static void main(String[] args) {

// 创建一个正则表达式模式,用以匹配一个单词(\b=单词边界)

String patt = "\\bfavor\\b";

// 用于测试的输入字符串

String input = "Do me a favor? Fetch my favorites.AAA favor BBB";

System.out.println("Input:" + input);

// 从正则表达式实例中运行方法并查看其如何运行

Pattern r = Pattern.compile(patt);

Matcher m = r.matcher(input);

System.out.println("ReplaceAll:" + m.replaceAll("favour"));

// appendReplacement方法

m.reset();

StringBuffer sb = new StringBuffer();

while (m.find()) {

// 将匹配之前的字符串复制到sb,再将匹配结果替换为:"favour",并追加到sb

m.appendReplacement(sb,"favour");

}

System.out.println(sb.toString());

m.appendTail(sb);

System.out.println(sb.toString());

/*

输出:

Input:Do me a favor? Fetch my favorites.AAA favor BBB

ReplaceAll:Do me a favour? Fetch my favorites.AAA favour BBB

Do me a favour? Fetch my favorites.AAA favour

Do me a favour? Fetch my favorites.AAA favour BBB

*/

}

}

15060644091.jpg?201732102724

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

希望本文所述对大家java程序设计有所帮助。

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

Java基于正则表达式提供了强大的文本查找和匹配功能正则表达式是一种用于描述文本模式的字符串。在Java中,使用java.util.regex包提供的正则表达式类来处理文本匹配和查找。 首先,我们可以使用Pattern类来创建一个正则表达式模式对象。我们可以使用各种元字符和特殊符号来定义我们要查找的模式。例如,我们可以使用`.`匹配任意字符,`*`匹配前面的字符的零个或多个实例,`+`匹配一个或多个实例,`?`匹配零个或一个实例,`[]`匹配括号内的任何字符,`{}`匹配前面的字符的指定实例数等等。 接下来,我们使用Matcher类来对给定的输入文本进行匹配。我们使用Pattern对象的matcher()方法来创建一个Matcher对象,并以输入文本作为参数传入。然后,我们可以使用Matcher对象提供的各种方法来查找匹配文本。 例如,我们可以使用matches()方法来检查整个输入文本是否与正则表达式完全匹配。使用find()方法来查找下一个符合正则表达式的子串,并使用group()方法来获取匹配文本。我们还可以使用replaceFirst()和replaceAll()方法来替换匹配文本Java正则表达式功能非常强大和灵活,可以应用于各种文本处理场景。无论是验证用户输入、提取特定格式的数据、替换文本、切割字符串等等,正则表达式都提供了一种高效、方便的方式来处理这些任务。同时,Java提供的正则表达式类库也提供了丰富的API和方法来满足各种需求。 总的来说,Java基于正则表达式提供了强大的查找匹配文本功能,使得任务变得简单和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值