Ziffern, nicht Zeichen. Kommt von "digit".
(\d) findet genau eine Ziffer und speichert sie in $1. ["."] findet entweder ein " oder ein . oder ein "
Das zweite " ist überflüssig.
Innerhalb von [ ] können keine Wildcards (also . oder \d) verwendet werden, also muss ein Punkt auch nicht als \. ausgedrückt werden, wie außerhalb von [ ], wo . ein beliebiges Zeichen außer Return meint.
Beim Ersetzen ist es wie immer: wenn etwas gefunden wurde und einen anderen Stil kriegen soll, dann kriegt alles, was gefunden wurde einen neuen Stil.
Das klingt auf den ersten Hör so, als könne Frage 3 nicht gelöst werden.
Aber: Grep wäre nicht gleichzeitig so cool und kompliziert, wenn es nicht doch ginge. Man kann nämlich nach , in einem bestimmten Kontext suchen. Es gibt vier Umgebungsparameter: Lookahead positiv oder negativ und Lookbehind positiv oder negativ.
Hier braucht es also einen positiven Lookahead und einen positiven Lookbehind:
(?<=\d),(?=\d)
Das heißt also: ich suche nur ein Komma, aber direkt links vom Komma muss eine Ziffer stehen und direkt rechts davon auch.
Und nur der Vollständigkeit halber:
(?<=[^A-Za-zäöüÄÖÜ]),(?=\d)
macht etwas sehr ähnliches.. Ich suche ein Komma und links vom Komma soll ein Zeichen aus [ ] einem bestimmten Zeichenvorrat stehen und zwar alle Zeichen die [^ ] NICHT zwischen A und Z oder a und z oder ä,ö,ü,Ä,Ö,Ü sind.
Das ist das gleiche wie ein negativer Lookbehind mit einer positiven Zeichenmenge
(?<![A-Za-zäöüÄÖÜ]),(?=\d)
Ich denke, grep kostet einige Zeit zum Eingewöhnen, Raketentechnik ist es aber auch nicht.
Mit freundlichem Gruß
Gerald Singelmann
--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com