トップページに戻る
次の正規表現パズルへ
前の正規表現パズルへ
9-8 条件分岐(if then else)で先読みと戻り読みを使用
正規表現パズル
ソース
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string[] strArr = {"9,123",
"9,ABC",
"X,123",
"X,ABC",};
const string Pattern = @"^(?(?=9,)9,[0-9]+$|.)";
System.Console.WriteLine("Pattern {0}", Pattern);
foreach (string each in strArr) {
string WillOut = each;
if (Regex.IsMatch(each, Pattern)) {
WillOut += " matchs ";
WillOut += Regex.Match(each, Pattern).Value;
}
else {
WillOut += " no match";
}
System.Console.WriteLine(WillOut);
}
}
}
実行結果
Pattern ^(?(?=9,)9,[0-9]+$|.)
9,123 matchs 9,123
9,ABC no match
X,123 matchs X
X,ABC matchs X