java 字符串正则表达式替换 以"exp_server"或者"exp_server-"或者"exp_server_"开头的
时间: 2023-11-02 13:05:11 浏览: 108
要使用正则表达式替换以 "exp_server" 或 "exp_server-" 或 "exp_server_" 开头的字符串,你可以使用 Java 的 `String` 类的 `replaceAll()` 方法。该方法接受两个参数:第一个参数是要替换的正则表达式,第二个参数是替换后的字符串。
以下是一个示例,演示如何将以 "exp_server" 或 "exp_server-" 或 "exp_server_" 开头的字符串替换为 "newString":
```java
String input = "exp_server123 exp_server-456 exp_server_789 abc exp_server-def";
String output = input.replaceAll("^exp_server[-_]*", "newString");
System.out.println(output);
```
输出结果为:
```
newString123 newString456 newString789 abc newStringdef
```
在上面的示例中,`^` 表示匹配字符串的开头。`[-_]*` 是一个字符类和量词,匹配 "-" 或 "_" 并且可以出现零次或多次。`replaceAll()` 方法将匹配到的部分替换为 "newString"。
请注意,在正则表达式中,特殊字符需要进行转义,如 "-" 需要转义为 "\\-”。如果要替换以不同开头的字符串,可以使用 "|" 连接多个字符串。
如果你只想替换第一个匹配到的字符串,可以使用 `replaceFirst()` 方法。示例:
```java
String input = "exp_server123 exp_server-456 exp_server_789 abc exp_server-def";
String output = input.replaceFirst("^exp_server[-_]*", "newString");
System.out.println(output);
```
输出结果为:
```
newString123 exp_server-456 exp_server_789 abc exp_server-def
```
以上是基本的示例,你可以根据实际需求调整正则表达式和替换的字符串。
阅读全文