【发布时间】:2015-09-03 03:37:40
【问题描述】:
我正在尝试获取字符串的一部分。
使用了这个表达方式:
@"<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 是否可以只获得匹配的那部分?
【问题讨论】: