Java 如何使用Regex模式从树结构中提取单词

Java 如何使用Regex模式从树结构中提取单词,java,regex,regular-language,Java,Regex,Regular Language,我需要从树结构中提取名词短语,但是我无法使用正则表达式模式从树结构中提取名词 这是树结构 (TOP(ADJP(JJ欢迎)(PP(TO)(NP(NNP-Regular)(NNP-Expression)(NNS-learnings‘)’)) 我需要提取所有词性标签,如NP,NNP,NNS等,即;我需要使用正则表达式模式获得正则、表达式、learnings等单词 有人能帮我找到这个吗。不确定这是否是你想要的,但这会帮你提取这些单词: 不确定这是否是您想要的,但这将为您提取这些词语: 我建议将其解析

我需要从树结构中提取名词短语,但是我无法使用正则表达式模式从树结构中提取名词

这是树结构

(TOP(ADJP(JJ欢迎)(PP(TO)(NP(NNP-Regular)(NNP-Expression)(NNS-learnings‘)’))

我需要提取所有词性标签,如NP,NNP,NNS等,即;我需要使用正则表达式模式获得正则、表达式、learnings等单词


有人能帮我找到这个吗。

不确定这是否是你想要的,但这会帮你提取这些单词:


不确定这是否是您想要的,但这将为您提取这些词语:


我建议将其解析为内存中的实际树结构,然后找到您想要的。您将为
NP
提取什么?这不是正则表达式的工作(至少Java正则表达式不支持这一点)。您可以遍历字符串并构建一棵树。正则表达式是否可以帮助我获取所需的单词,或者我是否需要切换到其他内容?我建议将其解析为内存中的实际树结构,然后找到所需内容。您将为
NP
提取什么?这不是正则表达式的工作(至少Java正则表达式不支持这一点)。您可以遍历字符串并构建一棵树。正则表达式是否可以帮助我获取所需的单词,或者我是否需要切换到其他内容?
Pattern regexpPattern = Pattern.compile("([A-Z]?[a-z]+)\\)");
Matcher m = regexpPattern.matcher("your string");
while (m.find()) {
    System.out.println(m.group(1));
}