经过几个小时的搜索和试错,似乎无法得到这个结果。我正在尝试返回两个html标记之间的文本。问题是文本跨越多行。下面是一个例子。如果有人能想出一个正则表达式来匹配html标签之间的所有内容。
<section id="mysection">
The text always starts on the line after the opening section tag.
It can be anything and even span multiple lines.
The closing tag always comes after the last line of text.
</section>
我试过了
Regex.Match(html, "<section id=\"mysection\">/s+(.*?)/s+</section>");
有一些成功,但只有当有一行文本时才有效,如果有换行,则不起作用
诸如此类。使用上面的例子,我希望它匹配“文本总是从开始部分标记之后的行开始。它可以是任何东西,甚至可以跨越多行。结束标记总是在文本的最后一行之后。”
发布于 2013-04-27 09:03:05
使用以下命令:
Regex.Match(html, "\\<section id=\"mysection\"\\>(.*?)\\</section\\>",
RegexOptions.Singleline);
根据RegexOptions.Singleline的文档:
指定单行模式。更改点(.)的含义因此它匹配每个字符(而不是除\n之外的每个字符)。
另外,您的尖括号需要转义。
https://stackoverflow.com/questions/16246896
复制相似问题