本文整理汇总了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
}