しまもん 

モンスター・ラボ島根開発拠点のブログ

【VB.NET】正規表現 MatchCollection & GroupCollection の基礎

てりー ・2021-05-19

新鮮な生シラスも一般スーパーで購入できる松江からこんにちは。

こちらは逆引きではなく順方向での理解が必要な VB.NET 要素について紹介する記事シリーズです。

今回は一般的な MatchCollection と GroupCollection の用法を示します。

  • 正規表現は MatchCollection で利用するのが簡単そうです
  • Regex 型変数は、例えば10進数の7桁の数字列なら r = New Regex("([0-9]{7})") といった具合に生成できます
  • マッチを試行するのは、ずばり Matches() メソッドで、結果として MatchCollection 型変数を返します
  • String 型変数 s に対してマッチを試行しするなら mc = r.Matches(s) といった具合です
  • mc(0) で1つ目の Match 型変数を取り出せます
  • mc.Count プロパティを参照することで MatchCollection 型変数に含まれる Match 型変数の数が得られます
  • mc(0).Value プロパティを参照することでマッチした部分文字列が得られます
  • もしグループが複数ある場合、つまり "([a-z]+)([0-9]+)" みたいな場合は、GroupCollection の出番です
  • gc = mc(0).Groups といった具合に GroupCollection 型変数が得られます
  • gc(1) が "([a-z]+)" に、gc(2) が "([0-9]+)" に対応します
  • やはり gc(1).Value や gc(2).Value でマッチした部分文字列が得られます

| 採用情報

城下町・松江で一旗揚げたいRailsエンジニア絶賛募集中!

Blue