次の正規表現があります。
^[[][A-Za-z_1-9]+[\]]$
この正規表現のすべての一致を文字列で取得できるようにしたいと考えています。一致の形式は[Whatever]
. _
中括弧内には、または数字も含まれる場合があります。そこで、次のコードを書きました。
private const String REGEX = @"^[[][A-Za-z_1-9]+[\]]$";
static void Main(string[] args)
{
String expression = "([ColumnName] * 500) / ([AnotherColumn] - 50)";
MatchCollection matches = Regex.Matches(expression, REGEX);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
Console.ReadLine();
}
しかし、残念なことに、matches
常にゼロのカウントを持っています。どうやら、正規表現は文字列全体が一致しているかどうかをチェックしており、文字列から一致を取得していません。正規表現が間違っているのか、使い方が間違っているのかわかりませんRegex.Matches()
。
何かご意見は?