我試圖獲得一部分字符串。用正則表達式獲得匹配值的一部分
使用這個表達式:
@"<a .*href=""(?<Url>(.*))(?="")"""
實例數據來匹配:
var input = @"<html lang=""en"">
<head>
<link href=""http://www.somepage.com/c/main.css"" rel=""stylesheet"" type=""text/css"" />
<link rel=""canonical"" href=""http://www.somepage.com"" />
<script src=""http://www.somepage.com/professional/bower_components/modernizr/modernizr.js"" type=""text/javascript""></script>
</head>
<body>
<header>
<div>
<div>
<a aria-haspopup=""true"" href=""http://www.somepage.com/someotherpage""><img src=""http://www.somepage.com/i/sprite/logo.png"" alt=page"" /></a>
</div>
</div>
</header>
</body>
</html>"
現在我能得到這個值:
http://www.somepage.com/someotherpage\"><img src=""http://www.somepage.com/i/sprite/logo.png"" alt=page"" /></a>
與此代碼:
var regexPattern = new Regex(PATTERN, RegexOptions.IgnoreCase);
var matches = regexPattern.Matches(httpResult);
foreach (Match match in matches)
{
// here I'm getting this value
var extractedValue = match.Groups["Url"].Value; // it's value is http://www.somepage.com/someotherpage\"><img src=""http://www.somepage.com/i/sprite/logo.png"" alt=page"" /></a>
}
我想要得到的match.Groups["Url"].Value
很簡單http://www.somepage.com/someotherpage
沒有任何東西href
attribute
值。
難道只有在extractedValue
上使用Substring
才能獲得匹配部分?
它的工作就像我需要:) – harry180