Word-Suche Mustervergleich bzw. Platzhalterzeichen

Hallo,

ich habe ein Problem mit der Word-Suche, vielleicht hat ein/e Experte/in hier einen Tipp?

Es geht um die Suche mit Mustervergleich (ab Word 2003 „Platzhalterzeichen verwenden“ genannt):

Ich möchte nach den im Text vorkommenden E-Mail-Adressen suchen, um diese zu markieren und später herauszufiltern (für eine Einladung zur Revival-Feier). Habe daher eine Suchabfrage gedacht „Suche nach allem, was wie folgt aussieht: ein Leerzeichen, dann irgendwelche Zeichen, dann ein @ Zeichen, dann wieder irgendwelche Zeichen, dann wieder ein Leerzeichen“.

Habe daher folgenden Suchstring verwendet (ohne Anführungszeichen, diese nur zur Verdeutlichung hier):

" *@* "

Aber da springt er zum ersten Leerzeichen im Text und markiert dann alles bis zum Leerzeichen hinter der nächsten E-Mail-Adresse.

Ich möchte aber, dass er nur die E-Mail-Adresse markiert. Wie kann man ihm das sagen?

Dachte dann, machen wir es umgekehrt: Suche alles, was keine E-Mail-Adresse ist, und ersetze das alles durch Leerzeichen. Dann bleiben nur die E-Mail-Adressen übrig.

Da der Suchstring [!@] alle Zeichen findet außer dem @ Zeichen, dachte ich an:

" *[!@]* "

Aber das markiert auch E-Mail-Adressen mit.

Was mache ich da bloß falsch??

Über einen Tipp von Word-Profis hier würde ich mich sehr freuen.

Vielen Dank
und viele Grüße

Frank

hi Frank

probiers mit folgender suche:

„“

(natürlich ohne die anführungszeichen!)

lg
erwin

Hallo Erwin,

vielen Dank (und Sternchen :smile: für Deine Antwort!

probiers mit folgender suche:
„“
(natürlich ohne die anführungszeichen!)

Kurze Nachfrage: Kann ich das noch so erweitern, dass er auch Grossbuchstaben, BInde- und Unterstriche in den Adressen mit erkennt?

Nochmals danke
und viele Grüße

Frank

hi

Kurze Nachfrage: Kann ich das noch so erweitern, dass er auch
Grossbuchstaben, BInde- und Unterstriche in den Adressen mit
erkennt?

„“

zur erklärung (und vermeidung zukünfiger rückfragen ];-&gt:wink::

„“ markiert ein Wort-Ende (selbe definition wie oben)
„“ nimmt dem nachfolgenden Zeichen seine spezialbedeutung (notwendig, um nach „@“ suchen zu können)
„@“ bestimmt, dass die vorgehende Zeichenklasse mind. einmal aber beliebig oft vorkommen kann
„[]“ definiert eine neue zeichenklasse. man such damit ein zeichen aus einer bestimmten wertemenge. für wertemengen kann mit von-bis-werten gearbeitet werden

bsp:
„[a-z]“ es wird nach einem einzelnen zeichen der zeichenklasse „a-z“ gesucht d.h. nach allen kleinbuchstaben. interessanterweise sortiert word sonderzeichen (öäü) korrekt in die buchstaben ein, d.h. man findet auch ein ö.
„[abc]“ sucht ebenfalls nach einem einzelnen zeichen, diesmal der zeicheklasse „abc“, also entweder nach einem a, einem b oder einem c
„a“ ist gleichbedeutend mit „[a]“, sonst wäre die suche ziemlich kompliziert
„abc“ sucht nach genau dem vorkommen abc irgendwo im text
„ab@c“ such nach abc, abbc, abbbc etc. aber nicht nach ac oder adc

damit versteht man das obige schon:
„“
„“ das wortende

du suchst also nach einer beliebig langen kette von zeichen, dann nach einem @, dann wieder nach einer beliebig langen kette von zeichen, dann nach einem punkt und dann wieder einer beliebig langen kette von zeichen. das ganze muss zwischen wort-grenzen stecken. der stress mit dem punkt ist notwendig, da word einen punkt automatisch als wort-grenze erkennt.

alles klar nun?

lg
erwin

1 „Gefällt mir“

Hallo Erwin,

super - vielen Dank und Sternchen nochmals für die sehr ausführliche Erklärung!!

Damit habe ich die Konstruktion dann auch verstanden :smile:

Allerdings ist noch eine Frage geblieben:

Ich habe es so erweitert:

Da manchmal auch Zahlen vorkommen (z.B. [email protected]). Das findet er dann mit 0-9 auch.

Aber das 0-9 hinter dem @ akzeptiert er nicht, also etwas wie „[email protected]“ wird nicht gefunden?

Da die Geschichte mit dem Punkt als Wortende ja knifflig ist - hier findet er etwas wie „[email protected]“ nur als „[email protected]“, kann man da quasi „fakultativ“ noch was dranhängen?

Nochmals vielen Dank!!
und viele Grüße

Frank

hi frank

also, mit folgender suche klappts auch mit ziffern im domain-namen:

das mit mehreren punkten hinterm @ ist in der tat ein problem. hier zeigt sich spätestens, dass word mit den aus der unix-welt bekannten regular expressions nicht mithalten kann. word kennt leider nur „mindestens einmal“-vergleiche und keine „beliebig oft, auch keins“. es ist daher nicht möglich, in einem durchgang sowohl nach domain-namen mit einem punkt und mit zwei punkten zu suchen. zumindest habe ich nichts gefunden.

du musst also zwei durchläufe starten, um alle möglichen email-adressen in voller länge zu finden.

lg
erwin

1 „Gefällt mir“

Hallo Erwin,

danke für Deine Antwort!

Ach, da hatte ich die 0-9 in der Mitte vergessen - ich hatte ja nur:

Also nur vorn und hinten ergänzt :smile:

unix-welt bekannten regular expressions nicht mithalten kann.

Schade, vielleicht erweitern die das noch… (hoffen darf man ja)

Danke
und viele Grüße
Frank