Regex.Replaceが動きません


スービサ  2009-07-07 22:34:17  No: 142176

VB2005または2008のRegex.Replaceを使用して、HTMLテキスト内に指定したキーワードを含むIMGタグを削除したいと考えています。
以下のコードを実行してみましたが、

Dim keyword As String = "ng.gif"
Dim html As String = ""<IMG src=""ok.gif""><BR><IMG src=""ng.gif"">ここに画像がありました。"
html = Regex.Replace(html, "<IMG(.|\s)+?" & Regex.Escape(keyword) & "(.|\s)*?>\s*", "", RegexOptions.IgnoreCase)

プログラムが終了せず、ステップ実行で確認したら、Regex.Replaceの行の実行でおかしくなったようです。
Regex.Replaceのパターンの(.|\s)の部分を以下のようにすると動きました。
html = Regex.Replace(html, "<IMG.+?" & Regex.Escape(keyword) & ".*?>\s*", "", RegexOptions.IgnoreCase)

どこに問題があるか、ご指摘をお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加