大家好我有下一篇文章:
</form>onclick="g(null,null,'.htaccess','touch')">Touch</a> <br><br><pre class=ml1>
DirectoryIndex index.php
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</pre></div>
我尝试使用以下代码解析<pre class=ml1>
和</pre></div>
之间的所有内容: -
string con = Regex.Match(content, @"<br><br><pre class=ml1>(.*?)</pre></div>", RegexOptions.Multiline).Groups[1].Value;`
但它不起作用。为什么呢?
答案 0 :(得分:1)
你需要
RegexOptions.Singleline
所以.
匹配每个字符,包括换行符。
由于您未使用RegexOptions.Multiline
或^
,因此不需要$
。 (多行模式使它们匹配行的开头和结尾,而不是输入字符串的开头和结尾。)
答案 1 :(得分:0)
您的代码唯一的问题是您使用的Regex.MultiLine应该是Regex.SingleLine
string con = Regex.Match(content, "<br><br><pre class=ml1>(.*?)</pre></div>", RegexOptions.Singleline).Groups[1].Value;
多线模式。改变^和$的含义,使它们匹配 任何一行的开头和结尾,而不仅仅是 整个字符串的开头和结尾。
指定单行模式。改变点(。)的含义 匹配每个字符(而不是除\ n之外的每个字符)。