【VB.NET】正規表現 MatchCollection & GroupCollection の基礎
新鮮な生シラスも一般スーパーで購入できる松江からこんにちは。
こちらは逆引きではなく順方向での理解が必要な 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 でマッチした部分文字列が得られます