正则表达式上的多行

时间:2015-12-29 13:55:46

标签: c# regex

我有一个来自网站的html文件,我使用正则表达式搜索单词并将这些单词写入文档。 我有这样的文字:

ASTVisitor

现在我想要<div class="scrollable " style="height: 200px;"> <div> <p>CO-Schrank: nicht ben&ouml;tigtes ausbauen</p> <p><strong>________________________________________________________________________</strong></p> <p><strong>==&gt;&nbsp; wird nicht mehr ben&ouml;tigt!<br /></strong>z-B.: IUC</p> <p>CO-Management in Gen. 2 implementieren</p> <ol> <li>Ausbau der PCI-Karten aus ZKA-PC in CO-PC- PC-Sys 02 TP 55, 56, 61 sind noch Profibus im ZKA-PC ==&gt; in CO-PC- PC-Sys 02 greift dann auf CO-PC f&uuml;r Datenaufzeichnung =&gt; Betrieb wieder aufnehmen</li> <li>Ausbau der IUC</li> <li>Testaufbau am CO-PC f&uuml;r den CO-Algorithmus und Datenspeicherung</li> <li>Gen. 2 in CO-Management implementieren- pro Pr&uuml;fling 3 Min. (3 Min. x 48 HG x 10 Messungen)&nbsp;= 1440 Min. = 24 h- Messzeit 1-2 Min.</li> </ol> </div></div> 中的所有文字。 我写了这段代码,但它没有用:

<div>.... </div>

2 个答案:

答案 0 :(得分:2)

你对MultiLine的含义存在误解(我不怪你,每次使用正则表达式时我都要三思而后行)。 MultiLine表示每一行(以\n结尾)都是自行处理的。

您需要SingleLine,它将整个字符串视为一行。

旁注:使用Regex解析HTML是个坏主意。请使用合适的HTML解析器。

答案 1 :(得分:1)

众所周知,您应该使用xhtml解析器而不是正则表达式。

无论如何,如果你知道你的html中使用的字符集是什么,你可以使用正则表达式。如果您仍想使用正则表达式,那么您可以使用带有单行标志的正则表达式,如下所示:

(?s)<div>.*?<\/div>

<强> Working demo

或使用正则表达式技巧:

<div>[\s\S]*?<\/div>