web-dev-qa-db-ja.com

正規表現を検索/置換してhtmlタグを削除します

検索と置換を使用して、どの正規表現が次のようなものを囲むタグを削除しますか。

<option value="863">Viticulture and Enology</option>

注:オプションの値は別の数値に変わりますただし、正規表現を使用して数値を削除することは許容されます

私はまだ学ぼうとしていますが、それを機能させることができません。

HTMLの解析には使用していません。Excelで必要な会社のWebサイトのデータがありますが、デザイナーが元のデータファイルを削除したため、元に戻す必要があります。オプションのリストがあります。そして、メモ帳++を使用してHTMLタグを削除し、検索して置き換える必要があります

15
stewart715

これは私にとってはうまくいきますNotepad ++ 5.8.6(U​​NICODE)

検索:<option value="\d+">(.*?)</option>

置換:$1

必ず「正規表現」と「。改行に一致」を選択してください enter image description here

17
Toto

私は次の正規表現を使用して行いました:

これを見つけてください:<.*?>|</.*?>

そして

次のように置き換えます:\r\n(これは改行用)

この正規表現を使用することにより(<.*?>|</.*?>)以下のようにHTMLタグ間の値を簡単に見つけることができます。

enter image description here

私は入力しました:

<otpion value="123">1</option><otpion value="1234">2</option><otpion value="1235">3</option><otpion value="1236">4</option><otpion value="1237">5</option> 

1,2,3,4,5のようなオプション間の値を見つける必要があります

enter image description here

そして出力を下回りました:

enter image description here

10
Sunil Kumar

これは私にとって完璧に機能します:

  • 「検索」モードで「正規表現」を選択します。
  • [検索対象]フィールドに[<]。*?>と入力し、[置換]フィールドは空のままにします。
  • ?にはNotepad ++のバージョン5.9が必要であることに注意してください。働くオペレーター。

ここにあるように: digoCOdigo-notepad ++でhtmlタグを削除します

4
dubblebee

このようなものは機能します(HTMLの形式が変更されないことがわかっている限り):

<option value="(\d+)">(.+)</option>
2
Justin Morgan
String s = "<option value=\"863\">Viticulture and Enology</option>";
s.replaceAll ("(<option value=\"[0-9]+\">)([^<]+)</option>", "$2")
res1: Java.lang.String = Viticulture and Enology

(scalaでテストされているため、res1 :)

Sedでは、少し異なる構文を使用します。

echo '<option value="863">Viticulture and Enology</option>'|sed -re 's|(<option value="[0-9]+">)([^<]+)</option>|\2|'

Notepad ++の場合、詳細はわかりませんが、「[0-9] +」は「少なくとも1桁」、「[^ <]」は開口部以外の何回も意味する必要があります。マスキングと後方参照は異なる場合があります。正規表現には問題があります。複数行にまたがっている場合、またはコメントで非表示になっている場合、正規表現はそれを認識しません。

ただし、多くのhtmlは正規表現に適した方法で生成され、常に1行に収まり、コメントアウトされることはありません。または、使い捨てコードで使用して、前に入力を確認することもできます。

1
user unknown