java 正则匹配字符串数组
时间: 2023-06-30 17:24:08 浏览: 131
同样使用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"}
```
同样需要注意,这只是一个简单的示例,实际应用中可能需要更复杂的正则表达式来匹配不同形式的字符串数组。
阅读全文