2011-11-15 3 views
0

velcroという単語を含むすべての行のテキストファイルを検索しました。私は今、それらの行の内容を印刷したいのですが、velcro行の一部を印刷するには

に従う部分だけは、私が

the purple monkey climbs the velcro cactus

がどのように私はvelcro後に来るすべてのものを印刷したテキストの行を持っていると言う(探し一般的な答え)

私はで始まっ:captuを使用し

c = /.*velcro.*/ 

if (line ==~ c){ 
println ... 
} 

答えて

5

あなたの正規表現の環グループ:

c = ~/.*velcro(.*)/ 

m = line =~ c 
if (m) { 
    println m[0][1] 
} 
+0

ありがとう、うまくいきます!ここで何が起こっているのか説明できますか?私は主に 'println m [0] [1]'の行に興味がありますが、他のものも気にしないと大丈夫です – blaughli

+0

'[0]'は最初の(そして唯一の)出現からの一致を返します文字列の正規表現。 '[0] [0]'はマッチした文字列全体です。 '[0] [1]'は最初のキャプチャグループです。ユーザーガイドにはさらに詳しい情報があります。http://groovy.codehaus.org/Regular+Expressions – ataylor

+0

はキャプチャグループ '(。*)'ですか? – blaughli

関連する問題