0

こんにちはみんな私は次のテキストを持っています:

</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;`

しかし、それは機能しません。なんで?

4

2 に答える 2

1

あなたが必要です

RegexOptions.Singleline

したがって、改行を含む.すべての文字に一致します。

またはRegexOptions.Multilineを使用していないので必要ありません。(マルチラインモードでは、入力文字列の最初と最後ではなく、行の最初と最後に一致します。)^$

于 2013-01-27T19:26:18.713 に答える
0

コードの唯一の問題は、Regex.SingleLineであるはずのRegex.MultiLineを使用していることです。

string con = Regex.Match(content, "<br><br><pre class=ml1>(.*?)</pre></div>", RegexOptions.Singleline).Groups[1].Value;

RegexOptions.MultiLine

マルチラインモード。^と$の意味を変更して、文字列全体の最初と最後だけでなく、任意の行の最初と最後でそれぞれ一致するようにします。

RegexOptions.SingleLine

単一行モードを指定します。ドット(。)の意味を変更して、(\ nを除くすべての文字ではなく)すべての文字に一致するようにします。

于 2013-01-27T19:26:49.307 に答える