本文整理匯總了C#中System.Text.RegularExpressions.Regex.MatchNamedCaptures方法的典型用法代碼示例。如果您正苦於以下問題:C# Regex.MatchNamedCaptures方法的具體用法?C# Regex.MatchNamedCaptures怎麽用?C# Regex.MatchNamedCaptures使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Text.RegularExpressions.Regex
的用法示例。
在下文中一共展示了Regex.MatchNamedCaptures方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Chained_IP_Address_Test_WihTags1
public void Chained_IP_Address_Test_WihTags1()
{
var alias = new RegexAlias
{
Name = "IPDigit",
RegexPattern = @"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
};
var alias2 = new RegexAlias
{
Name = "IPAddress",
RegexPattern = @"%{IPDigit}\.%{IPDigit}\.%{IPDigit}\.%{IPDigit}"
};
var resolver = new RegexAliasResolver(new[] { alias, alias2 });
const string pattern = "%{IPAddress:ip1} %{IPAddress:ip2}";
const string test1 = "192.168.0.1 192.168.0.2";
const string test2 = "555.555.555.555 555.555.555.555";
var regexPattern = resolver.ResolveToRegex(pattern);
// Run the regex
var match1 = Regex.Match(test1, regexPattern);
var match2 = Regex.Match(test2, regexPattern);
Assert.IsTrue(match1.Success);
Assert.IsFalse(match2.Success);
if (match1.Success)
{
var regex = new Regex(regexPattern);
var namedCaptures = regex.MatchNamedCaptures(test1);
Assert.AreEqual(namedCaptures["ip1"], "192.168.0.1");
Assert.AreEqual(namedCaptures["ip2"], "192.168.0.2");
}
}
示例2: Matches
// Test for any true matching condition(s)
private bool Matches(Newtonsoft.Json.Linq.JObject json)
{
for (int i = 0; i < Match.Length; i += 2)
{
string field = Match[i];
string expr = Match[i + 1];
JToken token = null;
if (json.TryGetValue(field, out token))
{
string text = token.ToString();
if (!string.IsNullOrEmpty(text))
{
var resolver = new RegexGrokResolver();
var pattern = resolver.ResolveToRegex(expr);
var match = Regex.Match(text, pattern);
if (match.Success)
{
var regex = new Regex(pattern);
var namedCaptures = regex.MatchNamedCaptures(text);
foreach (string fieldName in namedCaptures.Keys)
{
AddOrModify(json, fieldName, namedCaptures[fieldName]);
}
return true; // Yes!
}
}
if (string.IsNullOrEmpty(expr))
return true; // Empty field is no match
}
}
return false; // Not specified is failure
}