Alternativen


#1

Hallo!

Ich habe weder Forum noch in der Hilfe etwas nützliches über die "Alternativen" gefunden. (Ein Paar mehr Sätze dazu in der Hilfe wären übrigens nicht schlecht. :stuck_out_tongue: )

So weit ich es verstanden habe, ist es so was wie das logische ODER für RegEx, jedenfalls geht's mit

Suche: "a|b"
Ersetze: "c"
-> wenn "a" oder "b" dann "c" und     Suche: " |\."
Ersetze: "c"
-> wenn " " oder "." dann "c"

Das heißt so was:

Suche: "( |\.)(\w{1})( |\.)"
Ersetze: "$1$upper($2)$3"sollte nach einzelnen Zeichen suchen, die von beiden Seiten von Leerzeichen oder von Punkten umgeben sind und die in Großbuchstaben umwandeln.

Ergebnis sieht aber so aus:

p.d a Enc.od in p.o.d p. diddi - In to bad a.i
->
p.D a Enc.od in P.o.D p. diddi - In to bad A.i

Was mach ich falsch?

Gruß
nickless


#2

( |.)(\w{1})(?=( |.))
nach
$1$upper($2)

geht das?


#3

Danke, ja! :w00t:

Und in Verbindung mit

^(\w{1})( |\.)
->
$upper($1)$2,
( |\.)(\w{1})$
->
$1$upper($2)und
([^-])(\s+)(\w{1})(\s+)
->
$1$2$lower($3)$4

macht es genau das was ich will!

Allerdings verstehe ich nicht ganz, welche Funktion (?=...) hat.
Hat Gleichheitszeichen irgendeine undokumentierte Funktion? :flushed:

Edit: ein Paar Fehler...


#4

(?= wird als positive lookahead bezeichnet. Nach dem was nach (?= wird zwar gesucht, aber nicht als Treffer gespeichert.
RegEx ist kann ziemlich komplex werden, ich denke deshalb sind in der Hilfe einfach mal die "Grundlagen" beschrieben. Wer mehr wissen will, soll einfach bei ner Suchmaschine nach Tutorials suchen (oder mal bei Wikipedia schauen).


#5

Hab ich gemacht... einfach geil! :w00t:
Jedes mal entdecke ich in Mp3Tag etwas neues!

Mp3Tag rulezzzz!!!!!