如何在正则表达式中重复块重复

时间:2012-10-24 13:15:44

标签: java regex

假设源字符串是

(Adam)/NNP Apple/NN Orange/NN banana/NN tall/JJ

我的正则表达式是检测NNP,然后检测任意数量的NN,无论多少

如果我做了以下,

[a-zA-z]*/NNP\s[a-zA-z]*/NN\s[a-zA-z]*/NN\s[a-zA-z]*/NN\s[a-zA-z]*/JJ 

我会在NNP之后将自己限制在三个名词,而我想要任意数量的NN甚至零

我怎样才能在正则表达式中这样做?

1 个答案:

答案 0 :(得分:0)

使用GROUPS

[a-zA-z]*/NNP(\s[a-zA-z]*/NN)+\s[a-zA-z]*/JJ 

(any character sequence)+
+ - repeat this sequence one or more time.

有关详细信息,请参阅文档: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#cg