1
我正在嘗試爲輸入文本創建正則表達式模式匹配。雖然我知道肯定的正則表達式工作:https://regex101.com/r/EU7fXK/1我無法得到這個使用代碼創建匹配(計數> 0),即它不會返回匹配。不知道是什麼原因。模式匹配返回零計數
我的代碼看起來像這樣
static class Program
{
public static Regex Device { get; } = new Regex(@"\bdevice.*\b\W", RegexOptions.IgnoreCase & RegexOptions.Multiline);
static void Main(string[] args)
{
var src =
"!######################################################################################################\r\n!# APPROVED : YES\r\n!# REASON: test1 hosts in DMZ test1x access to update manager server to maintain securMuramaty, C1TEST1TEST1XX, test1xxx\r\n!# DEVICE: xxx test1 Devices\r\n!# SECTION: test1\r\n!# REQUESTER: [email protected]\r\n!# Exp. Date : 8/2016\r\n\r\naccess-list <Rule No> permMuramat tcp <IPaddress> <subnet mask> <IPaddress> <subnet mask> eq <Port Number>\r\naccess-list <Rule No> permMuramat tcp <IPaddress> <subnet mask> <IPaddress> <subnet mask> eq <Port Number>\r\naccess-list <Rule No> permMuramat tcp <IPaddress> <subnet mask> <IPaddress> <subnet mask> eq <Port Number>\r\naccess-list <Rule No> permMuramat <IPaddress> <subnet mask> <IPaddress> <subnet mask> eq <Port Number>\r\n";
var devices = src.GetDevice();
}
public static List<XElement> GetDevice(this string input)
{
var pattern = Device;
var matchCollection = pattern.Matches(input);
var elements = new List<XElement>();
foreach (Match match in matchCollection)
{
var val = match.Value;
var element = new XElement("Device") { Value = val };
elements.Add(element);
}
return elements;
}
}