検索と置換を使用して、どの正規表現が次のようなものを囲むタグを削除しますか。
<option value="863">Viticulture and Enology</option>
注:オプションの値は別の数値に変わりますただし、正規表現を使用して数値を削除することは許容されます
私はまだ学ぼうとしていますが、それを機能させることができません。
HTMLの解析には使用していません。Excelで必要な会社のWebサイトのデータがありますが、デザイナーが元のデータファイルを削除したため、元に戻す必要があります。オプションのリストがあります。そして、メモ帳++を使用してHTMLタグを削除し、検索して置き換える必要があります
これは私にとってはうまくいきますNotepad ++ 5.8.6(UNICODE)
検索:<option value="\d+">(.*?)</option>
置換:$1
必ず「正規表現」と「。改行に一致」を選択してください
私は次の正規表現を使用して行いました:
これを見つけてください:<.*?>|</.*?>
そして
次のように置き換えます:\r\n
(これは改行用)
この正規表現を使用することにより(<.*?>|</.*?>
)以下のようにHTML
タグ間の値を簡単に見つけることができます。
私は入力しました:
<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のようなオプション間の値を見つける必要があります
そして出力を下回りました:
これは私にとって完璧に機能します:
ここにあるように: digoCOdigo-notepad ++でhtmlタグを削除します
このようなものは機能します(HTMLの形式が変更されないことがわかっている限り):
<option value="(\d+)">(.+)</option>
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行に収まり、コメントアウトされることはありません。または、使い捨てコードで使用して、前に入力を確認することもできます。