使用regex Java提取子字符串

时间:2016-11-08 08:29:09

标签: java regex

我有一个包含多个NP()的字符串,在“NP('和')'之间是我想要的数据。 但我想要的NP数据不在第一个NP外面

如何编写正则表达式以从以下文本中提取“(DT a)(NN符号)”,“(DT)(NN facade)”?我想为每个包含NP的文本提取NP数据。我希望我能很好地解释这个问题

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<ul>
  <li><a class="flip-me" href="#">A link to the past</a></li>
  <li><a class="flip-me" href="#">Ocarina of Time</a></li>
  <li><a class="flip-me" href="#">Who is Zelda?</a></li>
  <li><a class="flip-me" href="#">Mickey Mouse</a></li>
</ul>

1 个答案:

答案 0 :(得分:0)

此正则表达式将匹配您询问的所有数据:

\(DT\s\w+.{3}NN\s\w+\)

\(DT\s\w+与确定者匹配,空格和字符串匹配,.{3}匹配) (NN\s\w+\)Noun, singular or mass匹配。
使用regexpal匹配数据,但如果你想在Java代码中使用它,你需要逃避字符,所以它看起来像这样:

Pattern p = Pattern.compile("\\(DT\\s\\w+.{3}NN\\s\\w+\\)");