Reguläre Ausdrücke zum Ersetzen von Textzeichenfolgen in einem MS Word-Dokument

Reguläre Ausdrücke zum Ersetzen von Textzeichenfolgen in einem MS Word-Dokument

Ich habe die folgenden Protokollnamen wie GR232 oder GR485 und möchte sie durch den Ausdruck „GR“ ersetzen, gefolgt von einem Bindestrich und der entsprechenden dreistelligen Nummer, etwa GR-232 oder GR-485. Ich habe es mit MS Word versucht, aber ich erhalte immer den gleichen Fehler

Suchen nach: (<[a-zA-Z]>){2;} (<[0-9]>){2;}

Ersetzen durch: (<[a-zA-Z]>)-(<[0-9]>)

Bisher lerne ich gerade alles, was mit regulären Ausdrücken von Microsoft zu tun hat, daher fällt mir keine Lösung ein. Ich wäre für Ihre Hilfe dankbar!

Antwort1

Ein regulärer Ausdruck in MS Word ist kein echter regulärer Ausdruck. Wenn Sie einen echten regulären Ausdruck in MS Word möchten, ist VBA die beste Lösung. Hier erfahren Sie, wie Sie Platzhalter in MS Word verwenden:Suchen und Ersetzen von Zeichen durch Platzhalter.

Was Sie gefragt haben, lässt sich in MS Word erledigen. Es gibt jedoch einige Probleme mit Ihrem regulären Ausdruck:

  • ;: ist in geschweiften Klammern ungültig, wenn versucht wird, die Mindest-/Höchstanzahl an Zeichen zu finden. ,muss verwendet werden.
  • \1Die erfassten Ausdrücke werden durch , , usw. ersetzt, \2nicht durch den regulären Ausdruck (<[a-zA-Z]>)oder andere.

Versuche Folgendes:

  • Finde was:<([a-zA-Z]{2,})([0-9]{2,})>
  • Ersetzen mit:\1-\2
  • WählenUse wildcards
  • Drücken SieReplace All

verwandte Informationen