正規表現メモ.cs
[C#]
Regexクラス
System.Text.RegularExpressions という名前空間に、正規表現を使うのに必要なクラスや構造体がある。
マッチテスト
IsMatchメソッドを使う。
Matchメソッド と Matchesメソッド
Matchメソッド
Match は1回マッチ。1個のMatchオブジェクトを返す。
マッチしたかどうかは、Matchオブジェクトの Success プロパティを調べることでわかる。
Matchesメソッド
Matches はグローバルマッチ。MatchCollectionオブジェクトを返す。
Countプロパティを調べることで、何個のマッチがあったかがわかる。0ならマッチなし。
Replace
MatchEvaluatorデリゲートを渡すことで、置換文字列をカスタマイズできる。
MatchEvaluatorデリゲートは、マッチオブジェクトを1つ引数に取り、文字列を返す、と定義されている。正規表現にマッチした文字列は、MatchEvaluatorデリゲートが返す文字列に置き換えられる。
Replaceは基本的にグローバルだが、オーバーロードメソッドでマッチの最大回数を指定できるようになっている。
例:
Regex.Replace (String, MatchEvaluator) Regex.Replace (String, MatchEvaluator, Int32) 等...