私が持っていると考えてください:Match regexMatch = regex.Match(lineToScan);
正規表現は正規表現パターン(例:A | B | C)を含むオブジェクトですRegex
したがって、どの正規表現(AまたはBなど)に対してマッハが見つかったのかを見つけることができますか?
質問する
483 次
3 に答える
0
グループを使用して、一致する正規表現の部分を判別できます。
var regex = new Regex("(?<a>A)|(?<b>B)|(?<c>C)");
var match = regex.Match("B");
var matchesA = match.Groups["a"].Success; // will be false
var matchesB = match.Groups["b"].Success; // will be true
var matchesC = match.Groups["c"].Success; // will be false
各パーツには、名前付きグループを使用して名前 ('a'、'b'、および 'c') が付けられます。その後、プロパティを調べGroups
て、一致が成功したグループ (存在する場合) を見つけることができます。
于 2013-09-03T11:08:54.267 に答える
0
単語を扱う場合は、2 つの一致が必要です。
string regex_string = "WORD_0|WORD_1|WORD_N";
Regex regex_matcher = new Regex(@"(" + regex_string + @")\b", RegexOptions.Multiline | RegexOptions.IgnoreCase);
string result = regex_matcher.Replace("This return 'word_1' in UpperCase", m => Regex.Match(regex_string, m.ToString(), RegexOptions.IgnoreCase | RegexOptions.Multiline).Value);
于 2016-07-22T20:52:37.623 に答える