Groovyで正規表現を使用して部分文字列を抽出する 質問する

Groovyで正規表現を使用して部分文字列を抽出する 質問する

テキストに次のパターンがあるとします。

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パーサーを使用することをお勧めします。

おすすめ記事