java正则表达式匹配字符串替换方法
java 中使用 string.replaceall() 方法可以实现字符串的正则表达式匹配替换,通过正则表达式指定模式,使用替换字符替换匹配部分。例如,使用正则表达式 [0-9]+ 匹配字符串中的所有数字并用 * 替换。高级使用方法还支持捕获组引用,例如用 $1$1 将每个单词替换为其反转形式。replaceall() 方法返回一个新字符串,但不修改原字符串。
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正则表达式匹配字符串替换方法的详细内容,更多请关注其它相关文章!