gpt4 book ai didi

java - 标记词的正则表达式

转载 作者:行者123 更新时间:2023-11-30 06:55:13 24 4
gpt4 key购买 nike

给定一个代表这样的句子的字符串,然后使用 OpenNLP 标记该字符串。

字符串句子=“他的戏剧仍然很受欢迎,并且不断被研究。”;

我在下面得到了这个。我的问题是我如何知道对其应用正则表达式来过滤掉标签?让我失望的是每个连字符前面的单词。例如,如果它只是标签,我可以执行类似 (VBP|VBN)+ 的操作,前面的单词会有所不同。

他的_PRP$ 播放_NNS 仍然_VBP 高度_RB 受欢迎,_JJ 和_CC _VBP 不断_RB 研究。_VBN

例如,我如何编写正则表达式来保留所有 NNCC?那么,给定如上所示的标记字符串,我如何获得 plays_NNS 和_CC ?

最佳答案

我认为您可以使用正则表达式并提取与您的模式匹配的所需子字符串并连接以获得所需的结果字符串。

 String text = "His_PRP$ plays_NNS remain_VBP highly_RB popular,_JJ and_CC are_VBP constantly_RB studied._VBN";
String pattern = "([^\\s]+_(NNS|CC))";
String resultText = "";

// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.
Matcher m = r.matcher(text);
while (m.find( ))
{
resultText = resultText + m.group(0) + " ";
}

System.out.println("RESULT: " + resultText);

/*
#### OUTPUT #####
RESULT: plays_NNS and_CC
*/

关于java - 标记词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41970896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com