在Java中使用replaceAll()方法进行正则替换时,第一个参数是正则表达式,第二个参数是替换字符串。以下是常用的正则替换示例:
public class RegexReplaceExample {
public static void main(String[] args) {
String text = "Hello123World456Java789";
// 1. 替换所有数字为空字符串(去数字)
String result1 = text.replaceAll("\\d", "");
System.out.println("去数字: " + result1);
// 2. 替换所有非字母字符为空格
String result2 = text.replaceAll("[^a-zA-Z]", " ");
System.out.println("非字母替换: " + result2);
// 3. 替换连续的数字为单个星号
String result3 = text.replaceAll("\\d+", "*");
System.out.println("数字替换: " + result3);
// 4. 替换特定单词(不区分大小写)
String text2 = "Hello hello HELLO world";
String result4 = text2.replaceAll("(?i)hello", "Hi");
System.out.println("单词替换: " + result4);
// 5. 使用分组和反向引用
String date = "2023-12-25";
String result5 = date.replaceAll("(\\d{4})-(\\d{2})-(\\d{2})", "$2/$3/$1");
System.out.println("日期格式转换: " + result5);
}
}
代码功能说明:
- 演示了replaceAll()方法的基本用法和各种正则表达式模式
- 包含数字替换、非字母字符处理、连续模式替换等功能
- 展示了分组和反向引用的高级用法
- 所有示例都可直接运行查看效果
正则表达式要点:
- \\d 匹配数字,\\D 匹配非数字
- [^a-zA-Z] 匹配所有非字母字符
- \\d+ 匹配一个或多个连续数字
- (?i) 表示不区分大小写
- (pattern) 创建捕获分组,$1、$2等用于反向引用
4253

被折叠的 条评论
为什么被折叠?



