regex - 正则表达式获取两个单词之间的所有内容 {}
问题描述
我正在尝试解析一个 rpt 文件并在模式 [SAMPLE] 之后的 {} 之间提取所有内容,直到下次出现此模式。所以它将是 [SAMPLE] {这是我想要的数据} [SAMPLE]。也有可能一个文件中只包含一个 [SAMPLE],因此可以有一个或多个 [SAMPLE] 部分。
该文件看起来像这样:
[SAMPLE]
{
[MS]
{
lots of text...
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
[CHROMATOGRAM]
{
lots of text...
}
lots of text...
[MS]
{
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
lots of text...
{
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
}
[SAMPLE]
{
[MS]
{
lots of text
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
[CHROMATOGRAM]
{
lots of text...
}
lots of text...
[MS]
{
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
lots of text...
{
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
}
我尝试使用这种模式:
\[SAMPLE\]\s*{([^{}]+)}
但这只给出了 {} 之间的第一部分
在 [SAMPLE] 部分之间有许多打开和关闭的 {}。有谁知道我可以使用什么正则表达式来获取数据?
解决方案
推荐阅读
- c# - 由于日期实现,C# 从 swagger 生成的客户端无法正常工作
- elasticsearch - 数组中重复值的 value_count 而不是 doc_count
- android - Android Studio 许可证尚未被接受错误
- java - 如何定义arch规则以禁止类捕获特定的异常类型?
- javascript - Instagram 更改 API 流程后,如何使用 Selenium 使用 Python 抓取 Instagram?我无法找到所有条目,只能找到 12 个
- java - 当我开始运行我的 proyect spring boot 进程时,退出代码 1 和异常属性“proxyBeanMethods”完成
- java - 使用 SQL 搜索宾果游戏
- javascript - AJAX:未捕获的类型错误:无法读取未定义的属性“长度”
- reactjs - 如果我想在单击特定链接时获取并显示单独的组件,那么处理状态/道具的最佳方法是什么?
- jquery - 带有选择输入的 addclass