java 正则匹配所有 {},并取出所有符合的字符串
时间: 2023-05-04 16:01:59 浏览: 91
详解Java正则表达式语法
Java 正则表达式可以使用 {} 表示限定符,如 {n} 表示匹配前面的元素恰好 n 次, {n,} 表示匹配前面的元素至少 n 次, {n,m} 表示匹配前面的元素至少 n 次,但不超过 m 次。如果要匹配大括号本身,需要使用转义字符 \ 转义。可以使用 String 类的 matches 方法或 Pattern 和 Matcher 类来实现正则表达式匹配。
以匹配所有 {} 并取出所有符合的字符串为例,可以使用如下代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "{hello}, {world}, {java}";
Pattern pattern = Pattern.compile("\\{.*?\\}");
Matcher matcher = pattern.matcher(input);
List<String> list = new ArrayList<String>();
while (matcher.find()) {
list.add(matcher.group());
}
System.out.println("匹配结果:");
for (String str : list) {
System.out.println(str);
}
}
}
```
其中,正则表达式 "\\{.*?\\}" 表示匹配以 { 开始,以 } 结束的任意字符(除了换行符)的字符串,并使用了非贪婪模式,以匹配最短的字符串。通过使用 Matcher 类的 find 方法,可以逐个匹配输入字符串中的所有符合条件的字符串,使用 List 存储匹配结果,最后打印出所有匹配结果。以上代码输出如下:
```
匹配结果:
{hello}
{world}
{java}
```
以上就是使用 Java 正则表达式匹配所有 {} 并取出所有符合的字符串的方法。
阅读全文