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. Eberh@rd hat Ahnung

    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
    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. Eberh@rd hat Ahnung
    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. Eberh@rd hat Ahnung

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

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

     
    Eberh@rd, 8. August 2023
    #4
  5. Eberh@rd hat Ahnung
    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
    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. Eberh@rd hat Ahnung
    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
    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. Eberh@rd hat Ahnung
    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
    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. Eberh@rd hat Ahnung
    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
    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
    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. Eberh@rd hat Ahnung
    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
    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. Etiketten-Vorlage wird zu klein ausgedruckt

    in Microsoft Word Hilfe
    Etiketten-Vorlage wird zu klein ausgedruckt: Hallo in die Runde, mein Problem ist, dass meine Etiketten am Drucker zu klein ausgedruckt werden. Ich benutze fertige Etikettenaufkleber. Die Etikettengröße der Aufkleber ist 70 x 37 mm. Ich...
  3. Serienbrief von Word aus mit Anhängen

    in Microsoft Word Hilfe
    Serienbrief von Word aus mit Anhängen: Hallo zusammen, ich möchte in Word einen Serienbrief schreiben. Die entsprechenden Datensätze habe ich in einer Access-Datenbank. Ich kann sie aber auch in Excel exportieren. Bei der Versendung...
  4. Grafiken beim Drucken ausblenden word 365

    in Microsoft Word Hilfe
    Grafiken beim Drucken ausblenden word 365: Ich möchte ein Briefvorlage für jemanden machen. Das Layout steht. Nun wurden die Briefbögen gedruckt. Jetzt soll eine Vorlage entstehen, die Grafiken im Erstellen des Word-Dokuments zeigt, aber...
  5. Grauer Streifen nach Index einfügen (Word 365, Mac)

    in Microsoft Word Hilfe
    Grauer Streifen nach Index einfügen (Word 365, Mac): Hat schonmal jemand so etwas gehabt (siehe Anhang)? Danke im Voraus!
  6. Office Tab in WORD

    in Sonstiges
    Office Tab in WORD: Office Tab Pro Version 18 MS Office Version 2408 Build 17932-2039696 64Bit Office Tab zeigt für jedes geöffnete Worddokument einen Tab an. Ich kann auch von Tab zu Tab klicken. ABER: ich kann...
  7. "Freigeben" aus Menüband von Word entfernen

    in Microsoft Word Hilfe
    "Freigeben" aus Menüband von Word entfernen: Seit kurzem nervt mich die Option "Freigeben" oben rechts im Menüband von Word. Keine Ahnung, was das ist (ich vermute, Microsoft will meine Text für das KI-Training nutzen). Ich brauch das nicht....
  8. In Word erscheinen beim Kopieren einer Webpage anstelle der Bilder teilweise nur kleine Platzhalter

    in Microsoft Word Hilfe
    In Word erscheinen beim Kopieren einer Webpage anstelle der Bilder teilweise nur kleine Platzhalter: In Word erscheinen beim Kopieren einer Webpage anstelle der Bilder teilweise nur kleine Platzhalter. In neuen Outlook für Windows wird nach Einfügen in das Nachrichtentext Fenster jedoch mit den...
  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