CSharp/正規表現
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(CSharp/正規表現);
*目次 [#teeaa52f]
#contents
*関連ページ [#mbfaf838]
-[[CSharp]]
*参考情報 [#k74c4cd2]
-[[正規表現の基本: .NET Tips: C#, VB.NET, Visual Studio:h...
-[[正規表現の基本 - Programming/.NET Framework/正規表現 -...
*基本 [#n45d9b19]
-Regexクラスのメソッドを使う。
-インスタンスメソッドとstaticメソッド両方あるが、同じ正規...
,メソッド名,目的,戻り値
,IsMatch,正規表現と一致するかどうかを判定。,bool
,Match,最初のマッチだけ取得。,Match
,Matches,全てのマッチを取得。,MatchCollection
,Split,正規表現で文字列を分割,stringの配列
,Replace,マッチする箇所を置換,string
-@マークを使って文字列中の\をエスケープシーケンスとして解...
*正規表現要素 [#h12025c6]
-正確には[[正規表現言語要素:http://msdn.microsoft.com/ja-...
-個人的によく使う正規表現。@"\d\d\d\d"のように書ける(エス...
,サンプル,意味
,[a-z0-9],aからzと0から9にマッチ。
,.,任意の1文字。
,*,直前の文字の0文字異常の繰り返し。
,(a+),aの繰り返しをグループとしてキャプチャ。
,^,文字列の先頭にマッチ。
,$,文字列の末尾にマッチ。
,\s,空白にマッチ。
,\S,空白以外にマッチ。
,\d,数字にマッチ。
,\w,単語に使われる文字にマッチ。
*IsMatch [#i96da58e]
-正規表現が一致するかどかを判定するだけのメソッド。一致し...
-サンプル。
#pre{{
string str = "Hello world!";
Regex reg = new Regex(@"world");
if (reg.IsMatch(str))
{
Debug.WriteLine("Match");
}
else
{
Debug.WriteLine("Not Match");
}
}}
-出力。
Match
*Match [#de22f82f]
-正規表現の最初の一致をMatchとして返す。一致したかどうか...
-サンプル。
#pre{{
string str = "Hello woooooorld!";
Regex reg = new Regex(@"w(o+)rld");
Match m = reg.Match(str);
if (m.Success)
{
Debug.WriteLine("Match");
Debug.WriteLine("Groups[0]=" + m.Groups[0...
Debug.WriteLine("Groups[1]=" + m.Groups[1...
}
else
{
Debug.WriteLine("Not Match");
}
}}
-出力。
#pre{{
Match
Groups[0]=woooooorld
Groups[1]=oooooo
}}
*Replace [#g7d143f5]
-正規表現に一致する部分を置換文字列で置換する。
**単純な例 [#h9b6d30e]
-サンプル
#pre{{
string str = "abccdefcccxyzcc";
Regex reg = new Regex(@"c+");
string result = reg.Replace(str, "C");
Debug.WriteLine(result);
}}
-出力
#pre{{
abCdefCxyzC
}}
**MatchEvaluatorを使った例 [#p4a3a6f1]
-置換処理が起こるたびにMatchEvaluatorデリゲートを呼び出し...
-サンプル
#pre{{
private void ReplaceMatchEvaluator_Clicked(object...
{
string str = "abccdefcccxyzcc";
Regex reg = new Regex(@"c+");
string result = reg.Replace(str, MyReplace);
Debug.WriteLine(result);
foreach (string beforeString in beforeStrings)
{
Debug.WriteLine(beforeString);
}
}
private int i = 0;
private List<string> beforeStrings = new List<str...
private string MyReplace(Match m)
{
i++;
beforeStrings.Add(m.Groups[0].Value);
return i.ToString();
}
}}
-出力
#pre{{
ab1def2xyz3
cc
ccc
cc
}}
終了行:
&tag(CSharp/正規表現);
*目次 [#teeaa52f]
#contents
*関連ページ [#mbfaf838]
-[[CSharp]]
*参考情報 [#k74c4cd2]
-[[正規表現の基本: .NET Tips: C#, VB.NET, Visual Studio:h...
-[[正規表現の基本 - Programming/.NET Framework/正規表現 -...
*基本 [#n45d9b19]
-Regexクラスのメソッドを使う。
-インスタンスメソッドとstaticメソッド両方あるが、同じ正規...
,メソッド名,目的,戻り値
,IsMatch,正規表現と一致するかどうかを判定。,bool
,Match,最初のマッチだけ取得。,Match
,Matches,全てのマッチを取得。,MatchCollection
,Split,正規表現で文字列を分割,stringの配列
,Replace,マッチする箇所を置換,string
-@マークを使って文字列中の\をエスケープシーケンスとして解...
*正規表現要素 [#h12025c6]
-正確には[[正規表現言語要素:http://msdn.microsoft.com/ja-...
-個人的によく使う正規表現。@"\d\d\d\d"のように書ける(エス...
,サンプル,意味
,[a-z0-9],aからzと0から9にマッチ。
,.,任意の1文字。
,*,直前の文字の0文字異常の繰り返し。
,(a+),aの繰り返しをグループとしてキャプチャ。
,^,文字列の先頭にマッチ。
,$,文字列の末尾にマッチ。
,\s,空白にマッチ。
,\S,空白以外にマッチ。
,\d,数字にマッチ。
,\w,単語に使われる文字にマッチ。
*IsMatch [#i96da58e]
-正規表現が一致するかどかを判定するだけのメソッド。一致し...
-サンプル。
#pre{{
string str = "Hello world!";
Regex reg = new Regex(@"world");
if (reg.IsMatch(str))
{
Debug.WriteLine("Match");
}
else
{
Debug.WriteLine("Not Match");
}
}}
-出力。
Match
*Match [#de22f82f]
-正規表現の最初の一致をMatchとして返す。一致したかどうか...
-サンプル。
#pre{{
string str = "Hello woooooorld!";
Regex reg = new Regex(@"w(o+)rld");
Match m = reg.Match(str);
if (m.Success)
{
Debug.WriteLine("Match");
Debug.WriteLine("Groups[0]=" + m.Groups[0...
Debug.WriteLine("Groups[1]=" + m.Groups[1...
}
else
{
Debug.WriteLine("Not Match");
}
}}
-出力。
#pre{{
Match
Groups[0]=woooooorld
Groups[1]=oooooo
}}
*Replace [#g7d143f5]
-正規表現に一致する部分を置換文字列で置換する。
**単純な例 [#h9b6d30e]
-サンプル
#pre{{
string str = "abccdefcccxyzcc";
Regex reg = new Regex(@"c+");
string result = reg.Replace(str, "C");
Debug.WriteLine(result);
}}
-出力
#pre{{
abCdefCxyzC
}}
**MatchEvaluatorを使った例 [#p4a3a6f1]
-置換処理が起こるたびにMatchEvaluatorデリゲートを呼び出し...
-サンプル
#pre{{
private void ReplaceMatchEvaluator_Clicked(object...
{
string str = "abccdefcccxyzcc";
Regex reg = new Regex(@"c+");
string result = reg.Replace(str, MyReplace);
Debug.WriteLine(result);
foreach (string beforeString in beforeStrings)
{
Debug.WriteLine(beforeString);
}
}
private int i = 0;
private List<string> beforeStrings = new List<str...
private string MyReplace(Match m)
{
i++;
beforeStrings.Add(m.Groups[0].Value);
return i.ToString();
}
}}
-出力
#pre{{
ab1def2xyz3
cc
ccc
cc
}}
ページ名: