web-dev-qa-db-ja.com

MicrosoftWordでの検索と置換の正規表現

国名から先頭と末尾のタグを削除したい。
私の例では、これらのタグは<li>および<a>

<li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li>
<li><a href="http://albanie.makaan.com/">Albanie</a></li>
<li><a href="http://algérie.makaan.com/">Algérie</a></li>

結果は次のようになります。

Afghanistan
Albanie
Algérie

Microsoft Wordでは、検索と置換機能を使用して正規表現でそれを実現したいと思います。

MS Wordで正規表現を使用するにはどうすればよいですか?

3
user2791156

入力テキストをWordにコピーする代わりに、Notepad ++またはRegExを完全にサポートするその他のエディターにコピーします。

タグの外側のすべて、または><の記号の間のすべてを選択する正規表現文字列は次のようになります。

(?<=>).*?(?=<)

enter image description here

  • (?<=>)後ろを見る です。 >記号を探し、アンカーとして機能します。このようにして、検索文字列を除外できます。これは、<Afghanistanが不要なため重要です。
  • .*?遅延数量詞 であり、次の式まですべてを選択します
  • (?=<)先読み であり、<記号を探しますが、検索された記号自体は除外します。後ろ姿のように

しかし国名を選択したくありません。すべてのタグを削除したい。最初の正規表現の反対が必要です。のようなもの

<.*?>

enter image description here

  1. Notepad ++の検索と置換ダイアログを開く
  2. 選択正規表現を使用
  3. 何を見つける:<.*?>
  4. 置換:なし
4
nixda

これは、MS Wordの検索と置換、正規表現なし、JavaScriptなしなどで簡単に実行できます。

角かっこをエスケープすると、実際の角かっこ文字が見つかります。したがって、ワイルドカードをオンにすると、式\<*\\>山括弧の間のすべてを検索します。それを何にも置き換えないでください。

1
Eliot Gelwan

私はそのために検索/置換を使用しません。そのタスクには、Excelの「TexttoColumns」を使用するのが最も簡単です。これを行うには、テキストを含む列を選択し、[データ]リボンに移動して、[テキストから列へ]を選択します。国名の前のすべてのテキストを削除するために1回(区切り記号は ">"-混乱を避けるために余分な列を削除するようにしてください)、名前の後のテキストを削除するために1回(区切り記号)の2回行う必要があります。記号は「<」になります)。

0
Karen927

This それがあなたが必要としているもののように見えます。

最新のコメント(javsacriptで欲しいだけです)-私はどこかに見えるでしょう ここ

sQLデータベースでそれが必要な場合は、生のjavascriptからリストを提供するためにPerlを数行書くだけです。私の知る限り; MSWordは入りません。

0
phatmanace