2011-01-26 12 views
2

Groovyの正規一致するすべてのもの、私はこの正規表現を持っている

regex = ~/\"([^"]*)\"/ 

ので、イムは今、私はしかし

regex.matcher(options).matches() => false 
をやって文字列

options = 'a:2:{s:10:"Print Type";s:8:"New Book";s:8:"Template";s:9:"See Notes";}' 

次ている引用符 間のすべてのテキストを探して

これは当てはまりません。私は4つのグループを持つべきではありません。

答えて

3

matcher()メソッドは、文字列全体を失敗した正規表現に一致させようとします。

詳細はthis tutorialを参照してください。

私はGroovyの知らないが、次のように動作するはずのように見えます:今すぐ

def mymatch = 'a:2:{s:10:"Print Type";s:8:"New Book";s:8:"Template";s:9:"See Notes";}' =~ /"([^"]*)"/ 

mymatch.each { println it[1] }すべての一致を印刷する必要があります。

+0

'mymatch.each {println it [1]}'は一致するものだけを表示します:-) –

+0

@tim_yates:訂正してくれてありがとう! –

関連する問題