von lorbass » Fr, 04.10.2013 19:10
ognih hat geschrieben:Kannst Du mir (evtl. auch anderen) bitte das in langschrift erklären,
Falls es noch jemanden interessiert:
clag hat geschrieben:Suche einen String "" bestend aus eienm backslash \\ gefolgt von irgend etwas außer einen Backslash [^\\] und das am Ende des Absatzes/String *$
Ziemlich gut, aber doch noch „a bisserl“ durcheinander, gell?
- »Suche einen String ""« ist richtig, aber die Anführungszeichen »""« haben mit dem gesuchten String (Zeichenkette) nix zu tun, denn Reguläre Ausdrücke (RegEx) arbeiten immer mit Strings.
Sie selbst sind aber auch Strings, die, als Literale verwendet, durch »""« eingeschlossen werden. Um eben diese »""« handelt es sich in der SUCHEN-Funktion.
- »bestend aus einem backslash \\« ist richtig; die Maskierung hat paljass beschrieben.
- »gefolgt von irgend etwas außer einen Backslash [^\\] und das am Ende des Absatzes/String *$« trifft's nicht so ganz, weil der Asterisk »*« zum ausgeschlossenen Backslash gehört, nicht zum Zeilenende.
Treffender ist »gefolgt von beliebig vielen beliebigen Zeichen mit Ausnahme des Backslash [^\\]*«. Das Dollarzeichen »$« ist hier überflüssig, weil ja eh schon beliebig viele Zeichen vorkommen dürfen und jedes zusätzliche Zeichen auch wieder von der Maßgabe „beliebig viele Zeichen“ abgedeckt wäre.
Allerdings ist zu überlegen, ob der Asterisk »*« hier wirklich gewollt ist, da die Anzahl der dem (ersten) Backslash folgenden Zeichen auch 0 sein darf, der String also nach diesem Backslash endet und der Folge-String also leer wäre. Wenn der leere String nicht erlaubt ist, muss der Asterisk »*« durch das Pluszeichen »+« oder detailliertere numerische Angaben ersetzt werden, wie z.B. {1,} oder {3,8}.
Gruß
lorbass
[quote="ognih"]Kannst Du mir (evtl. auch anderen) bitte das in langschrift erklären,[/quote]
Falls es noch jemanden interessiert:
[quote="clag"]Suche einen String "" bestend aus eienm backslash \\ gefolgt von irgend etwas außer einen Backslash [^\\] und das am Ende des Absatzes/String *$[/quote]
Ziemlich gut, aber doch noch „a bisserl“ durcheinander, gell?
[list=1][*] »[color=#0040FF][i]Suche einen String ""[/i][/color]« ist richtig, aber die Anführungszeichen »""« haben mit dem gesuchten String (Zeichenkette) nix zu tun, denn Reguläre Ausdrücke (RegEx) arbeiten [u]immer[/u] mit Strings.
Sie selbst sind aber auch Strings, die, als Literale verwendet, durch »""« eingeschlossen werden. Um eben [u]diese[/u] »""« handelt es sich in der SUCHEN-Funktion.
[*] »[color=#0040FF][i]bestend aus einem backslash \\[/i][/color]« ist richtig; die Maskierung hat [i]paljass[/i] beschrieben.
[*] »[color=#0040FF][i]gefolgt von irgend etwas außer einen Backslash [^\\] und das am Ende des Absatzes/String *$[/i][/color]« trifft's nicht so ganz, weil der [i]Asterisk »*«[/i] zum ausgeschlossenen Backslash gehört, nicht zum Zeilenende.
Treffender ist »[i]gefolgt von beliebig vielen beliebigen Zeichen mit Ausnahme des Backslash [^\\]*[/i]«. Das Dollarzeichen »$« ist hier überflüssig, weil ja eh schon beliebig viele Zeichen vorkommen dürfen und jedes zusätzliche Zeichen auch wieder von der Maßgabe „beliebig viele Zeichen“ abgedeckt wäre.
Allerdings ist zu überlegen, ob der [i]Asterisk »*«[/i] hier wirklich gewollt ist, da die Anzahl der dem (ersten) Backslash folgenden Zeichen auch 0 sein darf, der String also nach diesem Backslash endet und der Folge-String also leer wäre. Wenn der leere String nicht erlaubt ist, muss der [i]Asterisk »*«[/i] durch das [i]Pluszeichen »+«[/i] oder detailliertere numerische Angaben ersetzt werden, wie z.B. [i]{1,}[/i] oder [i]{3,8}.[/list]
Gruß
lorbass