Java 要匹配此模式,请使用正则表达式
我已经使用斯坦福nlp解析了一些文本文件,我需要从输出中提取符合以下模式的文本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
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)