java 正则匹配到的字符串 前面加个空格
时间: 2023-08-08 11:13:22 浏览: 109
你可以使用正则表达式的替换功能,将匹配到的字符串前面加上空格。以下是一个示例代码:
```
String input = "HelloWorld";
String regex = "(World)";
String replacement = " $1"; // 在匹配到的字符串前面加空格
String output = input.replaceAll(regex, replacement);
System.out.println(output); // 输出 "Hello World"
```
在这个例子中,我们使用了正则表达式 `(World)` 匹配到了字符串 "World",然后使用 `$1` 引用这个匹配结果,再在前面加上空格。最后使用 `replaceAll()` 函数替换原始字符串中的匹配结果,得到最终输出 "Hello World"。
相关问题
java 根据正则匹配分割字符串
在Java中,可以使用正则表达式来匹配和分割字符串。Java提供了java.util.regex包来支持正则表达式的操作。下面是一个示例代码,演示如何使用正则表达式来分割字符串:
```java
import java.util.regex.Pattern;
public class RegexSplitExample {
public static void main(String[] args) {
String str = "Hello,World!-This is a sample string.";
String regex = "[,!\\- ]"; // 正则表达式,匹配逗号、感叹号、减号和空格
String[] result = str.split(regex);
for (String s : result) {
System.out.println(s);
}
}
}
```
运行以上代码,输出结果如下:
```
Hello
World
This
is
a
sample
string.
```
在上述示例中,我们使用`split()`方法来根据正则表达式`[,!\\- ]`来分割字符串。这个正则表达式表示逗号、感叹号、减号和空格中的任意一个字符。`split()`方法返回一个字符串数组,其中的元素就是分割后的子字符串。
java 正则匹配字符串数组
同样使用Java的正则表达式来匹配字符串数组也是可行的。
例如,假设你有一个字符串数组,其格式为:
```
String[] arr = {"hello", "world", "java"};
```
你可以使用以下正则表达式来匹配它:
```
String\[\] arr = \{"(\w+)"(, "(\w+)")*\};
```
该正则表达式的解释如下:
- `String\[\] arr =`:匹配字符串 "String[] arr = "
- `\{`:匹配左花括号 "{"
- `"(\w+)"`:匹配一个或多个字母、数字或下划线的字符,被双引号括起来
- `(, "(\w+)")*`:匹配一个逗号和一个空格,后面跟着一个被双引号括起来的字符串,重复零次或多次
- `\}`:匹配右花括号 "}"
在Java中,你可以使用`Pattern`和`Matcher`类来实现正则表达式匹配。以下是一个示例代码:
```java
import java.util.regex.*;
public class Main {
public static void main(String[] args) {
String str = "String[] arr = {\"hello\", \"world\", \"java\"};";
String regex = "String\\[\\] arr = \\{\"(\\w+)\"(, \"(\\w+)\")*\\}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.println("Match found: " + matcher.group(0));
} else {
System.out.println("Match not found");
}
}
}
```
输出结果应该为:
```
Match found: String[] arr = {"hello", "world", "java"}
```
同样需要注意,这只是一个简单的示例,实际应用中可能需要更复杂的正则表达式来匹配不同形式的字符串数组。
阅读全文