使用正则表达式将文本ER表示解析为Java对象

使用正则表达式将文本ER表示解析为Java对象,java,regex,parsing,entity-relationship,Java,Regex,Parsing,Entity Relationship,我需要将文本模型解析为Java对象。数据结构对我来说似乎很清楚,但我正在努力用数据填充它。 在示例项中,订单和供应商是具有属性/键的实体类型,assigned和sup是具有属性和键的关系类型。 实体类型由三个空格和一个字符串后的第一个空行识别。属性有六个空格。 关系类型相似 下面是一个小代码示例。我的问题是split函数中的正则表达式 String splitline[] = null; String content = new String(Files.readAllBytes(Paths.g

我需要将文本模型解析为Java对象。数据结构对我来说似乎很清楚,但我正在努力用数据填充它。 在示例项中,订单和供应商是具有属性/键的实体类型,assigned和sup是具有属性和键的关系类型。 实体类型由三个空格和一个字符串后的第一个空行识别。属性有六个空格。 关系类型相似

下面是一个小代码示例。我的问题是split函数中的正则表达式

String splitline[] = null;
String content = new String(Files.readAllBytes(Paths.get("PATH")));
splitline = content.split("\\n\\s{3}");
int cnt = 0;
for (String string : splitline) {
    System.out.print(cnt++ + string);
}
寻找简单的空白似乎不起作用。我还尝试了\p{Blank}{4}。这是我第一次使用正则表达式。我读了一些教程,但没有找到任何可以解决问题的方法

我的目标是解析文本,在所有实体类型中创建一个ArrayList,其KeyAttributes和relationship相同


我期待着在这个问题上提供归档帮助,如果有人对如何解决这个问题有更好的想法,我很高兴。

pastebin上的那个文件:当然这不是你想要分解的文本数据文件的一个例子?我不确定我是否理解你的问题。它是DB Main中实体关系模型的文本表示。这将是我对未来转型的投入。对——我也是这么想的。但您所说的是将文本文件解析为数据结构。现在,它可以是模型的表示,也可以是表示数据实体的东西,即项目、订单和供应商。是哪一个?我编辑问题文本:这是示例模型:。Pastebin是文本表示。我需要用Java创建关系和实体对象,以便在它们上运行算法。现在更清楚了。-基于某个正则表达式的拆分在这里并没有真正的帮助。您必须逐行读取此文本文件,跟踪您所处的状态并相应地处理行。包含大写单词的行是实体标题。我不知道下面几行该怎么办。您有表示实体的类吗?在空行之后,有关系的定义:两个空格、一个单词、一个空格和一个关系标题。再一次:不确定如何处理以下行,您是否有用于表示关系的类?