Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

extract substring using regex in groovy

If I have the following pattern in some text:

def articleContent =  "<![CDATA[ Hellow World ]]>" 

I would like to extract the "Hellow World" part, so I use the following code to match it:

def contentRegex = "<![CDATA[ /(.)*/ ]]>" def contentMatcher = ( articleContent =~ contentRegex ) println contentMatcher[0] 

However I keep getting a null pointer exception because the regex doesn't seem to be working, what would be the correct regex for "any peace of text", and how to collect it from a string?

like image 606
RicardoE Avatar asked Jul 08 '13 22:07

RicardoE


1 Answers

Try:

def result = (articleContent =~ /<!\[CDATA\[(.+)]]>/)[ 0 ]​[ 1 ] 

However I worry that you are planning to parse xml with regular expressions. If this cdata is part of a larger valid xml document, better to use an xml parser

like image 157
tim_yates Avatar answered Sep 20 '22 08:09

tim_yates