我的问题是我有一个文档被分成几个部分,每个部分都由一个行标题 - [Header1],[Header2]等 - 记录 - 并包含分成单独行的各种类型的数据集,其中每一行都由一个标签开始,表明后面是什么类型的数据,如下所示:
[Header1]
data_label_type1 = 1,2,3
data_label_type2 = 1,2,3,4
data_label_type1 = 1,2,3,4,5
data_label_type3 = 1,2
请注意标题/部分不按顺序排列,因此Header1并不总是启动文档,Header2也不会始终跟随。
有点偏离主题,但数据集是我正在为论文做主题的实验的结果。
我希望能够使用单个正则表达式函数捕获仅在第一部分(在Header1下)中找到的类型1数据。在捕获它之后,我将使用replace和另一个函数将捕获的数据转换为另一种形式。
最初我使用的是正则表达式type1\h*=\h*([[:graph:]]*)
,但这只是一行一行,而且我有数百个文档 - 可能需要捕获成千上万的个别行。
我可以使用正则表达式很好地转换我的数据,但我的问题在于我不知道如何从Header1专门捕获类型1数据。任何帮助,提示或指示开始一些实验将非常感激!
答案 0 :(得分:0)
正则表达式显然无法提供解决方案,而是会使用解析器等替代方案。