java - 如何在大括号之间的 Java 文本中使用正则表达式进行选择
问题描述
假设我有一个文本:{ t e x t }
。我需要用正则表达式选择它(它可以是 之间的随机值{ }
。请帮助。
解决方案
您可以使用regex并\{([^\}]*)\}
捕获 group#1。
正则表达式的解释:
\{
: 性格,{
(
: 开始捕获组#1[^\}]*
: 以外的任何字符}
,任意次数
)
: 捕获组结束#1\}
: 性格,}
Java 演示:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "{ t e x t }";
Matcher matcher = Pattern.compile("\\{([^\\}]*)\\}").matcher(input);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
}
}
输出:
t e x t
推荐阅读
- android - 如何检测 RxJava 代码中泄露的一次性订阅?
- string - 当字符串是可变的时,攻击是如何发生的?
- css - CSS 选择器特异性
- javascript - 如何在 Squarespace 中将鼠标悬停在按钮上进行背景切换
- python - 使用原始的 Django 计数列
- c# - 在 .NET Core 和 .NET Framework 应用程序中使用库项目时,转换库项目的最佳选择是什么?
- react-native - 无法从 bottomTab Navigator 导航到 Stack Navigator
- elasticsearch - 有没有办法通过'order'字段对百分位聚合进行排序是Elasticsearch?
- php - 函数“gdPngGetVersionString”的隐式声明在 C99 中无效 [-Werror,-Wimplicit-function-declaration]
- azure - 使用 ARM 模板将用户分配的标识用于 AKS 群集