事後少しですが、誰かに役立つ場合に備えて、ここにある例の1つ(sdgfsdgによる)に従って、Notepad++の正規表現をすばやく選択することができました。
同様に、次の形式のHTML選択ドロップダウンオプションのリストからいくつかの冗長データを引き出す必要がありました。
<select>
<option value="AC">saint_helena">Ascension Island</option>
<option value="AD">andorra">Andorra</option>
<option value="AE">united_arab_emirates">United Arab Emirates</option>
<option value="AF">afghanistan">Afghanistan</option>:
...
</select>
そして私が本当に欲しかったのは:
<select>
<option value="AC">Ascension Island</option>
<option value="AD">Andorra</option>
<option value="AE">United Arab Emirates</option>
<option value="AF">Afghanistan</option>
...
</select>
いくつかの髪を引っ張った後、バージョン5.8.5(2010年9月)の時点で、正規表現はまだ式の特定のループを許可していないようです(別の構文がない限り)、たとえば、次のようになります"> united_arab_emirated_emirates">追加の区切りアンダースコアにもかかわらず:
(">)([a-z]+([_]*[a-z]*)*)(">)
このクエリはほとんどの一般的な正規表現ツールで機能しましたが、Notepad ++内では、ネストされたアンダースコアの最大数(残念ながら8でした)を、はるかに醜いものを使用して手動で考慮する必要がありました。
(">)([a-z]+[_]*[a-z]*[_]*[a-z]*[_]*[a-z]*[_]*[a-z]*)[_]*[a-z]*[_]*[a-z]*[_]*[a-z]*[_]*[a-z]*(">)
Notepad ++の置換機能で正規表現ループをシミュレートする方法を誰かが知っている場合は、私に知らせてください。
何を見つける: *( ">)([az] + [_] [az] [_] [az] [_] [az] [_] [az])[_] [az] [_] [az] [_] [az] [_] [az]( ">)*
置換: ">
結果: 255回のオカレンスが置き換えられました。