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 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 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 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 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 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. 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 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. office 365 word Textumbruch rechteck (quadrat) geht nicht

    in Microsoft Word Hilfe
    office 365 word Textumbruch rechteck (quadrat) geht nicht: Hallo, wenn ich Bilder bei Word einfüge und den Textumbruch dafür auf Rechteck (Quadrat) stelle, dann erscheint links und rechts neben dem Bild kein Text. Der Text ist immer nur ober- oder...
  3. Tabellenverzeichnis erstellen - individuelle Formatierung

    in Microsoft Word Hilfe
    Tabellenverzeichnis erstellen - individuelle Formatierung: Hallo zusammen, ich suche nach einer Möglichkeit, mein Tabellenverzeichnis individuell und damit unabhängig von der Formatierung des Abbildungsverzeichnisses zu formatieren. Ich habe das...
  4. Android Office Word mehrere Tabs erstellen

    in Microsoft Word Hilfe
    Android Office Word mehrere Tabs erstellen: Hallo, ich habe gerade Microsoft Office 365 Single auf meinem Android Tablet installiert und habe eine Frage zu Word. Bei der Desktopversion kann man ja mehrere Tabs nebeneinander oder zumindest...
  5. Hilfe meine Fusszeile nimmt viel platz ein!

    in Microsoft Word Hilfe
    Hilfe meine Fusszeile nimmt viel platz ein!: Hallo liebe Community, Ich schreibe gerade eine Facharbeit und benötige dringend hilfe! Morgen muss ich diese Datei ausgedruckt abgeben, jedoch ist mir ein Fehler passiert und nun sind die...
  6. Numerierung in eingefügt Tabellen in Word Dokument

    in Microsoft Word Hilfe
    Numerierung in eingefügt Tabellen in Word Dokument: Hallo erstmal und Danke für die Aufnahme Ich versuche seit langem eine Nummerierung in einer in Word eingefügten Tabelle hinzubekommen und schaffe es nicht. Könnte sich das jemand anschauen? mfg Kai
  7. Texthervorhebungsfarbe in gesperrtem Word aktivieren

    in Microsoft Word Hilfe
    Texthervorhebungsfarbe in gesperrtem Word aktivieren: Hallo zusammen Wie kann ich in einem gesperrten Dokument, in dem nur die Formatvorlagen freigegeben sind, die Texthervorhebungsfarbe aktivieren? Vielen Dank für die Hilfe! Liebe Grüsse, Thomas
  8. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich 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