テキストに次のパターンがあるとします。
def articleContent = "<![CDATA[ Hellow World ]]>"
「Hello World」の部分を抽出したいので、次のコードを使用して一致させます。
def contentRegex = "<![CDATA[ /(.)*/ ]]>"
def contentMatcher = ( articleContent =~ contentRegex )
println contentMatcher[0]
しかし、正規表現が機能していないようで、ヌル ポインター例外が発生し続けます。「任意のテキスト」の正しい正規表現は何でしょうか。また、文字列からそれを収集するにはどうすればよいですか。
ベストアンサー1
試す:
def result = (articleContent =~ /<!\[CDATA\[(.+)]]>/)[ 0 ][ 1 ]
しかし、正規表現を使用してXMLを解析することを計画していることが心配です。このCDATAがより大きな有効なXML文書の一部である場合は、XMLパーサーを使用することをお勧めします。