我使用stanford nlp从该输出解析了一些文本文件我需要提取符合以下模式的文本
open bracket followed by NP or NNP or NNS etc
输入字符串
(NP (DT the) (NNP sample) (NN program))
结果字符串
the ) sample ) program )
我已尝试过以下正则表达式,但它与我所需的模式不匹配
test.replaceAll("//(//NP|//(//JJ|//(//NNS|//(//NNP|//(//NN|//(//DT|//(//CD|//(//FW|//(//WHNP|//(//WDT|//(//VBN|//(//PRP", "")
答案 0 :(得分:2)
我不知道你为什么要在那里插入所有那些斜杠。
试试这个:
test = test.replaceAll("\\((NP|JJ|NNS|NNP|NN|DT|CD|FW|WHNP|WDT|VBN|PRP)", "");
以下是此代码的live demo正常工作。
答案 1 :(得分:0)
尝试"\\(NP|\\(JJ|\\(NNS|\\(NNP|\\(NN|\\(DT|\\(CD|\\(FW|\\(WHNP|\\(WDT|\\(VBN|\\(PRP"
斜线是错误的。使用\\
代替/