java 正则匹配${}内的字符
时间: 2023-11-23 22:53:42 浏览: 18
可以使用正则表达式 `\\$\\{([^\\}]+)\\}` 来匹配 `${}` 内的字符。
这个正则表达式的意思是:
- `\\$` 匹配字符 `$`,由于 `$` 是正则表达式的特殊字符,所以需要转义。
- `\\{` 匹配字符 `{`,同样需要转义。
- `([^\\}]+)` 匹配任意不含 `}` 的字符,并且需要至少匹配一个字符,因为使用 `+` 号表示至少匹配一次。
- `\\}` 匹配字符 `}`,同样需要转义。
相关问题
java 正则匹配${}内的字符 返回list<String>
可以使用 Java 中的正则表达式类 `java.util.regex.Pattern` 和 `java.util.regex.Matcher` 来进行匹配,并将匹配到的结果存入一个 `List<String>` 中。
以下是示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo {
public static void main(String[] args) {
String str = "Hello ${world}, ${java} is awesome! ${regex} is also awesome!";
Pattern pattern = Pattern.compile("\\$\\{([^\\}]+)\\}");
Matcher matcher = pattern.matcher(str);
List<String> list = new ArrayList<>();
while (matcher.find()) {
list.add(matcher.group(1));
}
System.out.println(list);
}
}
```
输出结果为:
```
[world, java, regex]
```
解释一下代码的关键步骤:
1. 使用 `Pattern.compile()` 方法编译正则表达式。
2. 使用 `Matcher.matcher()` 方法在输入字符串中查找匹配项。
3. 使用 `Matcher.find()` 方法在查找到的匹配项中迭代,使用 `Matcher.group(1)` 方法获取每个匹配项中 `${}` 内的字符串,并将其添加到 `List<String>` 中。注意,这里使用的是第一个捕获组,即 `${}` 内的字符串。
java正则匹配包含某个字符串
可以使用字符串的 contains() 方法或者正则表达式中的 .* 字符来匹配包含某个字符串的文本。以下是一个示例正则表达式:".*某个字符串.*",其中的 "某个字符串" 需要替换为要匹配的实际字符串。