我正在.NET
项目中使用正则表达式来获取特定标记.我想匹配整个DIV标签及其内容:
<html>
<head><title>Test</title></head>
<body>
<p>The first paragraph.</p>
<div id='super_special'>
<p>The Store paragraph</p>
</div>
</body>
</head>
Run Code Online (Sandbox Code Playgroud)
码:
Regex re = new Regex("(<div id='super_special'>.*?</div>)", RegexOptions.Multiline);
if (re.IsMatch(test))
Console.WriteLine("it matches");
else
Console.WriteLine("no match");
Run Code Online (Sandbox Code Playgroud)
我想要匹配这个:
<div id="super_special">
<p>Anything could go in here...doesn't matter. Let's get it all</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我以为.
应该得到所有的角色,但似乎有回车问题.我的正则表达式遗失了什么?
谢谢.
拜托,拜托,你自己一个巨大的青睐:使用HTML解析器解析HTML.认真.这就是他们的目的.
HTML是一种非常复杂的语言.无论你将多长时间调整,摆弄,修复,磨练你的Regexp,总会有一个你想念的案例.
无论如何,你必须告诉你的Regexp引擎匹配多行,而不只是一行.在一些最流行的那些中,你通过应用/m
修饰符来做到这一点.
但请允许我再说一遍:请使用HTML解析器.每当有人使用正则表达式解析HTML时,小猫就会死...
归档时间: |
|
查看次数: |
2089 次 |
最近记录: |