C#を攻略しよう

c#

正規表現とグループ化

正規表現のグループ化を使って文字列を操作するするサンプルプログラムです。

正規表現基本    /   正規表現のグループ化を使った文字列操作


[TOP]


using System.Text.RegularExpressions;

<中略>

Regex reg = new Regex("(?<suji>[0-9]+)(?<aiji>[a-z]+)");//1
Match mat = reg.Match("123abbbbc");//2
string ui = mat.Result("${aiji}${suji}");//3

上記のサンプルプログラムは、正規表現のグループ化を使って、数字と英字を入れ替えるプログラムです。

正規表現の具体的な使用方法は正規表現の使い方を参照してください。

1で正規表現を使った数字と英字のグループを作成し、2でベースとなる文字列を指定して、3で数字と英字を入れ替えます。

(?<suji>[0-9]+)は、0から9までの数字が1回以上続くグループ名を「suji」とし、

(?<aiji>[a-z]+)は、aからzまでの英字が1回以上続くグループ名を「aiji」とするものです。

長い文字列から特定の書式に合致する文字だけを抽出したい場合に使うと便利です。

※当サイトは、リンクフリーです。