トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

正規表現メモ.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) 
等...