Extract Substrings using regex Java : <p>I have a string that has several NP( ),  In between "NP(' and ')' is the data I want.
But i want just NP data inside not the first NP outside</p>

<p>How can I write a regex to extract "(DT a) (NN sign)" , "(DT the) (NN facade)" from the following text? I wnt for each text that contain NP to extract just inside NP data..I hope I explained well the problem</p>

<pre><code>    (ROOT (NP (NP (DT a) (NN sign)) (PP (IN on) (NP (NP (DT the) (NN facade)) (PP (IN of) (NP (DT the) (NN building)))))))
</code></pre>
