【发布时间】:2021-11-15 07:10:54
【问题描述】:
我有一个如下所示的原始文本:
#John
age: 25
skill: boxer
#Peter
age: 25
skill: fisher
#James
age: 25
skill: bouncer
我打算将每个块分开并放入一个数组中。
我的问题是如何使用正则表达式“获取所有以 '#' 开头并以 '#' 结尾的匹配文本。
我的目的是让我可以将 John 的块与 Peter 的块和 James 的块分开。
如果我使用这个:
String regex = "#(.*)";
List<String> matches = Pattern.compile( regex, Pattern.MULTILINE)
.matcher(raw)
.results()
.map(MatchResult::group)
.collect(Collectors.toList());
数组只包含:
index 0: #John
index 1: #Peter
index 2: #James
这是不完整的,因为它不包括身体的“年龄”和“技能”部分。 我想要的结果是这样的:
index 0: #John
age: 25
skill: boxer
index 1: #Peter
age: 25
skill: fisher
index 2: #James
age: 25
skill: bouncer
你能帮忙吗?
【问题讨论】: