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. Word serianbrief

    in Microsoft Word Hilfe
    Word serianbrief: Beim Serienbrief kann ich ein Datumformat eingeben wie ich will, er druckt immer das uS-Format <monat/tag/Jahr.
  3. Word abgestürzt, Dokument auf Stand von vor 2 Monaten

    in Microsoft Word Hilfe
    Word abgestürzt, Dokument auf Stand von vor 2 Monaten: Liebe Community, ich schreibe in voller Verzweiflung. Ich habe bei Word (Studentenaccount) eine sehr sehr wichtige Datei bearbeitet. Plötzlich schloss sich das Programm und eine Fehlermeldung...
  4. Word spielt Hüpfburg!

    in Microsoft Word Hilfe
    Word spielt Hüpfburg!: Moin allerseits! meine Version 2021 / fehlt in der Präfix-Auswahl egal, ob ich meine Seiten-Ansicht auf dem üblichen Weg über die Menüs oder folgenden VBA (Modul in Normat.Dot, aufgerufen per...
  5. Buchsatz mit Word: untere Zeile der Seiten immer auf der gleichen Höhe

    in Microsoft Word Hilfe
    Buchsatz mit Word: untere Zeile der Seiten immer auf der gleichen Höhe: Ich versuche gerade, mein Buch mit MS Office Professional PLUS möglichst professionell zu setzen. Das Vermeiden von einsamen Einzelzeilen am Beginn oder am Ende von Seiten verhindert Word...
  6. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  7. Probleme mit Formatierung in geschütztem Word-Dokument – Schriftstil nicht änderbar

    in Microsoft Word Hilfe
    Probleme mit Formatierung in geschütztem Word-Dokument – Schriftstil nicht änderbar: Hallo zusammen, ich habe ein Word-Dokument erstellt, das als Vorlage dient und entsprechend geschützt ist. Dabei sollen folgende Anforderungen erfüllt werden: Schriftart: Die Schriftart darf...
  8. Word 2000-Datei beschädigt?

    in Microsoft Word Hilfe
    Word 2000-Datei beschädigt?: Mein Problem: Obwohl sich das Dokument (drei Seiten mit einigen Tabellen) vorher problemlos schließen ließ (ohne Änderung im Text), verlangt Word jetzt beim Schließen immer wieder die...
  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