SSブログ

Groovy で正規表現にマッチした箇所を抜き出すには? [groovy]

groovy で正規表現にマッチした箇所を抜き出すには次のように記述する。

    matFile = (file =~ /^([0-9a-zA-Z\-]+) (.*).mp3/);
    if (matFile.matches()) {
        id = matFile[0][1]
        title = matFile[0][2]
    }

この場合、file が 「AAb-32D なんかのタイトル.mp3」であれば、

  • id = AAb-32D
  • title = なんかの タイトル

を取得できる。もし、file が 「日本語 なんかの たいとる.mp3」のときは、 正規表現にマッチしないため、id、title には設定されない。

id が英数字からなるものの 場合は [0-9a-zA-Z] とすれば良い。

先に示した正規表現では「~」 が先頭に付与されているので 「 AAb-32D たいとる.mp3」のように、先頭に空白など英数字(と「-」)以外の文字がある場合はマッチしない。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。