Java 要匹配此模式,请使用正则表达式

Java 要匹配此模式,请使用正则表达式,java,regex,Java,Regex,我已经使用斯坦福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

我已经使用斯坦福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", "")
请尝试使用
“\\(NP)\(JJ)\(NNS)\(NNP)\(NN)\(DT)\(CD)\(FW)\(WHNP)\(WDT)\(VBN)\(PRP)


斜杠是错误的。请使用
\\
而不是
/

我不知道你为什么在那里有这么多斜杠

试试这个:

test = test.replaceAll("\\((NP|JJ|NNS|NNP|NN|DT|CD|FW|WHNP|WDT|VBN|PRP)", "");

这是一段正确运行的代码。

所有的斜杠是怎么回事?@Vulcan他们回头看我。你使用了错误的
斜杠
来转义,使用
`而不是
/`我可以这样使用吗\\在线程“main”java.util.regex.PatternSyntaxException:Unclosed group靠近索引1(^at java.util.regex.Pattern.error(Pattern.java:1713)at java.util.regex.Pattern.accept(Pattern.java:1571)我通过复制粘贴测试了这一点,这样就不可能出现转录错误,而且效果很好。当我删除NN的工作项时,您在NN之前添加了一条额外的斜线|\(VBN| \(PRP)