java正则表达式匹配字符串替换方法

java 中使用 string.replaceall() 方法可以实现字符串的正则表达式匹配替换,通过正则表达式指定模式,使用替换字符替换匹配部分。例如,使用正则表达式 [0-9]+ 匹配字符串中的所有数字并用 * 替换。高级使用方法还支持捕获组引用,例如用 $1$1 将每个单词替换为其反转形式。replaceall() 方法返回一个新字符串,但不修改原字符串。

java正则表达式匹配字符串替换方法

Java正则表达式匹配字符串替换方法

正则表达式(Regex)是一种模式匹配语言,它允许您在字符串中查找和替换特定模式。Java 中提供了 String.replaceAll(String regex, String replacement) 方法来实现字符串的正则表达式匹配替换。

如何使用 replaceAll() 方法

replaceAll() 方法接受两个参数:

  • regex:要匹配的正则表达式。
  • replacement:替换匹配模式的新字符串。

示例

以下示例将字符串中的所有数字替换为 "*":

String input = "This is a string with numbers 123.";
String output = input.replaceAll("[0-9]+", "*");
System.out.println(output); // 输出:This is a string with numbers ***.

正则表达式语法

正则表达式使用特殊字符来表示要匹配的模式。以下是一些常见的字符:

  • .:匹配任何字符。
  • [ ]:匹配方括号内指定的字符集合,例如 [0-9] 匹配所有数字。
  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  • *:匹配前面的元素零次或多次。
  • +:匹配前面的元素一次或多次。

高级替换

replaceAll() 方法还支持使用 $ 占位符来引用匹配的模式:

  • $0:匹配的整个字符串。
  • $1:第一个捕获组匹配的字符串。
  • $2:第二个捕获组匹配的字符串,依此类推。

以下示例将句子中的每个单词都用其反转形式替换:

String input = "This is a sentence.";
String output = input.replaceAll("([a-zA-Z]+)", "$1$1");
System.out.println(output); // 输出:Thisishisasiasesentence.

其他笔记

  • replaceAll() 方法返回一个新字符串,原字符串不会被修改。
  • 正则表达式语法可能会因不同的编程语言或正则表达式库而异。

以上就是java正则表达式匹配字符串替换方法的详细内容,更多请关注其它相关文章!