1

私はこのHTMLを持っています:

</TABLE>
<HR>
<font size="+1"> Method and apparatus for re-sizing and zooming images by operating directly
     on their digital transforms
</font><BR>

fontタグ内のテキストをキャプチャしようとしています。これは私の正規表現です:

  Regex regex = new Regex("</TABLE><HR><font size=\"+1\">(?<title>.*?)</font><BR>", RegexOptions.Singleline | RegexOptions.IgnoreCase);

        Match match = regex.Match(data);

        string title = match.Groups["title"].Value;

しかし、私は空のタイトルを取得します。誰かが私が欠けているものを教えてもらえますか?

4

1 に答える 1

3

あなたの正規表現;

new Regex("</TABLE><HR><font size=\"+1\">(?<title>.*?)</font><BR>"

+正規表現で明確な意味があるため、整形式ではありません。

入力文字列に基づいて、必要なのは実際にそれをエスケープすることです。

new Regex("</TABLE><HR><font size=\"\\+1\">(?<title>.*?)</font><BR>"

また、文字列を改行と一致させたい場合は、それらを無視するためにワイルドカードを指定する必要があるため、これはさらに多くのことを行おうとしている可能性があります。

new Regex("</TABLE>.*<HR>.*<font size=\"\\+1\">(?<title>.*?)</font>.*<BR>"
于 2012-08-12T12:07:25.577 に答える