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」のように、先頭に空白など英数字(と「-」)以外の文字がある場合はマッチしない。


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