正则表达式匹配这种模式

时间:2013-08-27 03:54:19

标签: java regex

我使用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", "")

2 个答案:

答案 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"

斜线是错误的。使用\\代替/