Office: Word-RegEx für Wort, das mindestens eine Ziffer enthält

Helfe beim Thema Word-RegEx für Wort, das mindestens eine Ziffer enthält in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Wie finde ich in Microsoft Word per RegEx (erweiterte Suche, Platzhaltersuche) ein Wort, das eine Ziffer enthält? <*[0-9]*> habe ich probiert,... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von Eberh@rd, 7. August 2023.

  1. Word-RegEx für Wort, das mindestens eine Ziffer enthält


    Wie finde ich in Microsoft Word per RegEx (erweiterte Suche, Platzhaltersuche) ein Wort, das eine Ziffer enthält?

    <*[0-9]*> habe ich probiert, funktioniert aber nicht, da es über Wortgrenzen hinaus Strings findet.
     
    Eberh@rd, 7. August 2023
    #1
  2. Gerhard H Erfahrener User
    Hallo Eberhard ,

    ich kann das Problem nachvollziehen, denn Word macht genau das, was ihm aufgetragen wurde:
    Es beginnt die Suche an einem Wort-Anfang, akzeptiert alle beliebigen Zeichen (und darunter fallen eben auch Word-Ende-Zeichen wie Leerzeichen und Satzzeichen) bis zur nächsten Ziffer und von dort aus zum nächsten Wort-Ende.

    Je nachdem, was mit den Fundstellen geschehen soll, könnte dagegen eine einfache Platzhaltersuche nach Ziffern genügen (Beispiel Fettformatierung):

    Suchen nach [0-9]
    Ersetzen durch ^& und Format Fett

    Dabei werden allerdings auch Ziffern am Wortanfang und am Wortende gefunden, sowie alleinstehende Ziffern(folgen)
    Wenn die genannten Fälle nicht behandelt werden sollen, müsste man nochml neu nachdenken.
     
    Gerhard H, 8. August 2023
    #2
  3. Eigentlich nicht Gerhard, da beispielsweise die Suche nach <***> grundsätzlich nur einzelne Wörter findet. * sollte also nicht über Wortgrenzen hinaus suchen, was man beispielsweise auch an der Suche nach <* sieht.

    Ziemlich buggy ist z.B. auch <[0-9]*@*>
     
    Zuletzt bearbeitet: 8. August 2023
    Eberh@rd, 8. August 2023
    #3
  4. Word-RegEx für Wort, das mindestens eine Ziffer enthält

    <[0-9A-Za-z]@[0-9]*>

     
    Eberh@rd, 8. August 2023
    #4
  5. Zu früh gefreut, das findet beispielsweise "2x" nicht.

    Auch ist die Wildkarte in Word einfach kaputt.
    <*[0-9]> – geht
    <*> – geht
    <[0-9]*> – geht nicht
     
    Zuletzt bearbeitet: 8. August 2023
    Eberh@rd, 8. August 2023
    #5
  6. Gerhard H Erfahrener User
    Hallo Eberhard,

    ich geb zu, dass die Suchergebnisse mit den Platzhaltern * und @ verwirrend sein können, besonders, wenn man sie kombiniert.

    Was den Suchstring <*[0-9]*> betrifft, so finde ich meine Interpretation stimmig, zumal sie den Vorteil hat, dass sie mit den Suchergebnissen übereinstimmt.

    Deine anderen Varianten hab ich nicht weiter angeguckt. Was sagst du denn zu meinem Vorschlag?
     
    Gerhard H, 8. August 2023
    #6
  7. Danke Gerhard, solche manuellen Würgarounds nutze ich auch oft.

    Hier ging es aber tatsächlich darum, direkt alle Wörter mit darin enthaltenen Ziffern zu finden.

    Solange wir hier noch nicht die geniale Lösung dafür finden, die es meinem Bauchgefühl nach wahrscheinlich sogar gibt, nehme ich Notepad++.

    Wenn du meine Beispiele oben ausprobierst, dann kannst du sehen, dass die Wildcard * dann funktioniert, wenn sie links oder alleine in einem Suchwort steht, aber nicht, wenn sie rechts steht.
     
    Eberh@rd, 8. August 2023
    #7
  8. Gerhard H Erfahrener User

    Word-RegEx für Wort, das mindestens eine Ziffer enthält

    Hallo Eberhard,

    ich war eigentlich der Meinung, ich hätte dir ein Makro vorgeschlagen, seh aber, dass ich es nicht hochgeladen habe. Ich hol das hiermit nach:
    Code:
    Sub suchalleWoerterMitZiffern()
    Dim suchbereich As Range, fundbereich As Range, erweiterungsbereich As Range
    
    Set suchbereich = ActiveDocument.Range
        With suchbereich.Find
            .MatchWildcards = True
            .Text = "[0-9]"
                Do While .Execute
                    Set fundbereich = .Parent
                    fundbereich.Words(1).Font.Bold = True
                Loop
        End With
    End Sub
    Der Trick ist hier, nur nach Ziffern zu suchen und in einem zweiten Schritt den Fundbereich aufs ganze Wort auszudehnen. Ausprobiert hab ich es an folgendem Test-Text:

    a1bc enthält eine Zahl, 11abc eine führende, abc1 eine abschließende, c22de zwei mittige und fgh2 nochmal eine abschließende.

    Zu makrofreien Versuchen hab ich noch ein bisschen rumgespielt:

    <[A-z]{1;}[0-9]{1;}*> findet Wörter, die Zahlen enthalten, außer wenn die Zahl führend ist.
    <[0-9]*> findet nur Wörter mit führenden Zahlen.
    Sieht so aus, als würden die beiden nacheinander das Problem lösen. Bei der Makrolösung wär mir allerdings wohler.


    Deine drei geht/geht nicht Beispiele kann ich übrigens nicht nachvollziehen:

    <*[0-9]> markiert weisungsgemäß von einem Wortanfang an alles, bis es auf eine Zahl am Wortende trifft. Von dort aus gehts weiter, bis das ganze Dokument bis zum letzten Wort mit abschließender Zahl durchmarkiert ist. Insofern: Geht schon, aber war das der Plan?

    <*> markiert weisungsgemäß jedes Wort, egal was drinsteht, also im Endeffekt das komplette Dokument. Funktioniert so gesehen auch.

    <[0-9]*> sucht weisungsgemäß eine führende Ziffer im Wort und danach jedes beliebige Zeichen bis zum Wortende. Markiert in meinem Beispielsatz lediglich das 11abc. - Geht.

    Schließlich noch eine Frage: Was machst du wie in notepad++?
     
    Gerhard H, 8. August 2023
    #8
  9. Danke für das pfiffige Makro Gerhard.

    Mit deinen Erläuterungen zu den Beispielen hast du recht. Sobald man sich klar macht, dass eine Regex von links nach rechts durch den Text läuft, wird es nachvollziehbar.

    Nach diesen Beispielen ist meines Erachtens aber etwas kaputt:

    <*> <Suchbegriff>
    <*> Suchbegriff


    Word verhält sich dabei fälschlicherweise so, als ob man das eingegeben hätte:
    <*>*Suchbegriff

    Das funktioniert auch nicht richtig:
    <*>?Suchbegriff

    Wohingegen dieses zum Glück funktioniert:
    <*>?<*>
     
    Eberh@rd, 10. August 2023
    #9
  10. Gerhard H Erfahrener User
    Hallo Eberhard,

    ich grüble auch oft und immer wieder über die Wirkungen der Platzhalter * und @, deshalb beteilige ich mich gern an deinen Rätseln. Allerdings solltest du immer dazu schreiben, was du (beispielhaft) als Treffer erwartest. "Funktioniert nicht" unterstellt, dass deine Erwartung bekannt ist.

    Ich nehm mal den Beispielssatz:

    Das ist ein Suchbegriff und das noch ein Suchbegriff.


    <*> <Suchbegriff> und <*>*<Suchbegriff> und <*> Suchbegriff
    verhalten sich in meinen Augen erwartungsgemäß alle gleich:
    Findet einen String, der mit einem beliebigen Wort beginnt und mit einem Wort des Inhalts "Suchbegriff" bzw. dem Ausdruck "Suchbegriff" endet.

    Der erste Treffer ist dann:
    "Das ist ein Suchbegriff". Der zweite:
    "ist ein Suchbegriff" und der dritte:
    "ein Suchbegriff" usw.
    Wenn du alles ersetzen lässt und bei Ersetzen durch Fettdruck wählst, ist am Ende der ganze Bereich fett.

    <*>?<*>
    Findet einen String, in dem zwei Wörter beliebigen Inhalts aufeinanderfolgen, die durch ein beliebiges Wort-Trennzeichen (Leerzeichen oder Satzzeichen) verbunden sind:
    "Das ist"
    "ist ein"
    "ein Suchbegriff..."
    Wenn du das erwartet hast, dann stimmt die Diagnose "funktioniert". Allerdings ist auch hier am Ende alles fett.

    Es gibt aber bestimmt auch Fälle, wo Word sich offenbar oder auch nur vermeintlich falsch verhält. Deswegen meine ich: Die richtige Vorgehensweise ist zu schildern, was als Treffer gewünscht ist und dann nachzuforschen, wie man die herkriegt.
     
    Gerhard H, 10. August 2023
    #10
  11. Hi Gerhard,

    <*> <Suchbegriff>
    <*> Suchbegrif
    <*>?Suchbegriff


    Diese sollten alle das Wort bzw. den String "Suchbegriff" sowie das direkt davor stehende Wort finden und sonst nichts.

    > [diese finden alle] einen String, der mit einem beliebigen Wort beginnt und mit einem Wort des Inhalts "Suchbegriff" bzw. dem Ausdruck "Suchbegriff" endet.

    Nein, das beliebige Wort und der String "Suchbegriff" müssten bei diesen drei Beispielen direkt aufeinander folgen.

    Da der Suchterm <*> hundertprozentig immer einzelne Wörter findet, kann es nicht sein, dass
    die eingangs genannten Suchterme beliebige Strings finden, die mit einem Wort anfangen und (mit beliebig viel Text) dazwischen mit dem Wort "Suchbegriff" aufhören.
    .

    Das letztgenannte Ergebnis darf ausschließlich dem Suchterm <*>*<Suchbegriff> vorbehalten sein.
     
    Zuletzt bearbeitet: 10. August 2023
    Eberh@rd, 10. August 2023
    #11
  12. Gerhard H Erfahrener User
    Hallo Eberhard,

    das ist ganz schön frech von deinem Word, dass es sich deinen Vorstellungen, was es zu liefern hat, so hartnäckig widersetzt.
    Das von dir geforderte Ergebnis finde ich - frag mich nicht warum nur so - folgendermaßen:
    <[A-z]{1;}> Suchbegriff
    wobei du den Ausdruck in der eckigen Klammer ggf. noch um Umlaute, ß und Satzzeichen ergänzen musst
     
    Gerhard H, 10. August 2023
    #12
  13. Gerhard H Erfahrener User

    Word-RegEx für Wort, das mindestens eine Ziffer enthält

    Kleiner Nachtrag: Wenn ich sowas machen müsste, würde ich lieber wieder zu einem Makro greifen. So eins:
    Code:
    Sub wortAufWort()
    Dim suchbegriff As String, suchbereich As Range, fundbereich As Range
    
    suchbegriff = "Hugo"
    Set suchbereich = ActiveDocument.Range
    With suchbereich.Find
        .Text = suchbegriff
            Do While .Execute
                Set fundbereich = .Parent
            fundbereich.Select
                fundbereich.MoveStart unit:=wdWord, Count:=-1
            fundbereich.Select
                fundbereich.Font.Bold = True
                suchbereich.SetRange fundbereich.End + 1, ActiveDocument.Range.End
            Loop
    End With
    End Sub
     
    Gerhard H, 10. August 2023
    #13
    1 Person gefällt das.
  14. Hallo Gerhard, Beitrag #11 sind nicht 'meine Vorstellungen', sondern pure Logik nach dem alten George Boole. Bekanntermaßen ist es ja nicht so, dass Word keine Bugs hat, die teilweise auch Jahrzehnte alt sind.
     
    Eberh@rd, 10. August 2023
    #14
  15. Gerhard H Erfahrener User
    Hallo Eberhard,

    ich wollte dir nicht zu nahetreten bei deinem Bemühen, Word-Bugs anzuprangern. Ich kann dir teilweise folgen, teilweise nicht. Was ich sagen wollte, ist: Was hilft es; wenn Word hier und da auf Herrn Boole pfeift; da leg ich mein Augenmerk lieber auf die Suche nach Work-Arounds.

    Ich hoffe, du kannst mit #12 und #13 was anfangen.
     
    Gerhard H, 11. August 2023
    #15
Thema:

Word-RegEx für Wort, das mindestens eine Ziffer enthält

Die Seite wird geladen...
  1. Word-RegEx für Wort, das mindestens eine Ziffer enthält - Similar Threads - Word RegEx Wort

  2. Probleme mit Makros und Grafiken nach Umstieg von Word 2011 auf Office 365 (Mac)

    in Microsoft Word Hilfe
    Probleme mit Makros und Grafiken nach Umstieg von Word 2011 auf Office 365 (Mac): Liebes Forum, ich bin kann selbst kaum VBA, hab aber mal einige Makros aufgenommen und dann abgeändert, bin also alles andere als ein Profi. 2015 hat jemand im FOrum (office-loesung.de), dessen...
  3. Word-Bildauflösung nicht reduzieren beim Publizieren als Webseite

    in Microsoft Word Hilfe
    Word-Bildauflösung nicht reduzieren beim Publizieren als Webseite: Gibt es irgendeine Chance, beim Speichern als Webseite aus Word (365) die Bilder auf der so erzeugten Webseite in hoher Auflösung zu haben? Obwohl an allen denkbaren Stellen in Word die maximale...
  4. Word Dokument wird in Excel nicht als Serienbriefhauptdokument erkannt

    in Microsoft Excel Hilfe
    Word Dokument wird in Excel nicht als Serienbriefhauptdokument erkannt: Hallo liebe Community, Ich versuche gerade aus Excel heraus per VBA einen Serienbrief zu generieren. Den Serienbrief in Word habe ich vorab mit dem Serienbrief Assistenten erstellt und...
  5. Word-Aufzählungszeichen -- gelöschte Formatvorlage taucht immer wieder auf

    in Microsoft Word Hilfe
    Word-Aufzählungszeichen -- gelöschte Formatvorlage taucht immer wieder auf: Hallo zusammen, ich habe mir vor gefühlten Jahrzehnten einmal eine benutzerdefinierte Formatvorlage für ein spezielles "Aufzählungszeichen" erstellt. Die Aufzählung bzw. das Aufzählungszeichen...
  6. Word 2 unabhängige Inhaltsverzeichnisse

    in Microsoft Word Hilfe
    Word 2 unabhängige Inhaltsverzeichnisse: Hallo Leute, ich habe eine Word-Datei, in der es 2 unabhängige Inhaltsverzeichnisse geben soll. Im ersten Verzeichnis stehen immer nur die neuesten Infos. Im zweiten Verzeichnis stehen alle...
  7. Dropdown Feld und Tabulator

    in Microsoft Word Hilfe
    Dropdown Feld und Tabulator: Hallo Zusammen! Ich habe in einem Word-Dokument ein Dropdown Feld (Inhaltssteuerelement) erstellt. Im restlichen Dokument sind viele Textformularfelder. Wenn ich die Bearbeitung einschränke, kann...
  8. Word-Textfeld immer eine Zeile zu hoch

    in Microsoft Word Hilfe
    Word-Textfeld immer eine Zeile zu hoch: Hallo Forum, ich möchte ein Textfeld erstellen, welches sich in Breite und Höhe den Text anpasst. Meiner Erinnerung nach war dies immer kein Problem. Nun wird das Textfeld allerdings immer eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden