C#中的这个正则表达式不起作用:
Regex regexSpan = new Regex("<span class=\"test\" id=\"" + value + "\">"(.*?)</span>",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
我想用我动态指示的ID搜索范围。标签内的文字可以是。
有人可以帮我找到这个正则表达式中的错误吗?
问候。
答案 0 :(得分:0)
您在第一个&gt;之后添加了额外的结束引号标记。标志。 正则表达式应如下所示:
"<span class=\"test\" id=\"" + value + "\">(.*?)</span>"
请注意,与HTML相比,class属性并不总是出现在id属性之前,因此此代码仅适用于特定情况。
答案 1 :(得分:0)
尝试:
\<span\s+class\s?=[^\,]+,\s*id\s?=[^\,]+\,?\s*value\s?=[^\>]+([^\<]*)\<\/span\>
匹配
<span class="", id="", value=""></span>
答案 2 :(得分:0)
正则表达式不是旨在解析XML的那个。您应该使用XML parser
并尝试使用适当的xpath
。
Manipulate XML data with XPath and XmlDocument
How to query XML with an XPath expression by using Visual C#