VB.NETの正規表現一例 - 文字列の取り出す
2011/08/19 18:05Update
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でも通用します。
■例
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
Sponsored Link
Comments
- Relative Articles
- VB.NET メール送信例 - (2011/08/31 13:34)
- VB.NETの異常処理 - Try ~ Catch ~ 構文 例 - (2011/08/10 15:07)
- VB.NETのHTTPダウンロード例 - (2011/08/10 15:23)
- VB.NETでのインスタンスについて - (2011/08/10 16:16)
- VB.NETの名前空間定義 - (2011/08/10 16:57)
- VB.NET クラスの定義 - (2011/08/10 17:47)
- VB.NET インタフェースの定義とその使用例 - (2011/08/11 11:35)
- VB.NET クラスのコンストラクタ - (2011/08/11 11:55)
- VB.NET getter/setterメソッドの定義方法 - (2011/08/11 16:46)
- VB.NETの列挙体定義 - (2011/08/12 11:02)