VB.NETの正規表現一例 - 文字列の取り出す

2011/08/19 18:05Update
TAGS: VB.NET | 正規表現 | RegularExpressions | Match | Regex

VB.NETの正規表現で文字列を解析する一例です。

■概要:
TEST.000003
TEST.000023
TEST.000123
TEST.001234
TEST.010234
などのような文字列から数字を取り出す

■正規表現
^TEST\.[0]{0,5}([0-9]+)$

■解説:
^    :文字列の先頭を表す
$    :文字列の末尾を表す
\    :文字の前に\をつけることで、メタ文字の機能を無効にする。“\.”というのは、メタ文字“.”を普通の文字として扱うことを意味する
[]    :[]内のいずれか1文字。例えば、[0]は0文字、[0-9]は0から9までの数字一文字。
{n,m}    :直前の文字がn回以上m回以下繰り返す。{0, 5}というのは、最低0回最大5回繰り返しマッチする
()    :グループ定義。取り出したい箇所に用いて定義。
+    :直前の文字が1回以上繰り返す。例えば、[0-9]+というのは、1から9までの数字最低でも1回以上繰り返す


正規表現のマッチパターンについて、次の記事をご参照ください。
Java正規表現によくあるマッチ パターン
※Javaと記述していますが、VB.NETでも通用します。

■例
Dim str as String = "TEST.000456"                '対象となる文字列
Dim regex as String = "^TEST\.[0]{0,5}([0-9]+)$"        '正規表現式
Dim mc As System.Text.RegularExpressions.MatchCollection = _
    System.Text.RegularExpressions.Regex.Matches( _
        str, regex)

Dim num as String
For Each m As System.Text.RegularExpressions.Match In mc
    num = m.Groups(1).Value
Next

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation