Zum Forum springen
Benachrichtigungen
Alles löschen

regex

5 Beiträge
3 Benutzer
3 Reactions
1,002 Ansichten
flowIIpoker
Beigetreten: 14.02.2007

gegeben sind folgende links:

foo.com/Magazin-typische-fehler-beim-kochen-1215
foo.com/magazin-30-tips -und-tricks-19843
foo.com/Marburg-peter-hans-345
foo.com/main-studio-fred-feuerstein-765432
foo.com/Merseburg-zum-freifall-3-1072

ziel: eine regel, die die letzten 3 URI ohne (fuehrenden /) matched
also irgendwie eine negation von magazin und Magazin

ich hab jetzt schon viel rumprobiert, komm aber zu nix brauchbarem
das muss doch mit negative lookbehind gehen, oder??

/^(?<!magazin-|Magazin-)[a-z0-9-]+[\d]+$/
/^(?<!magazin-|Magazin-).*-[\d]*$/


Antwort
Zitat
4 Antworten
Django3
Beigetreten: 16.10.2009

Damit kriegst du es zumindest mit dem führenden slash hin:
/(?!magazin-|Magazin-).*

Ohne führenden slash wird es schwierig, da man ja irgendwie kenntlich machen muss an welcher Stelle das Wort Magazin nicht auftreten darf. Wenn man voraussetzen kann, dass nach dem slash immer ein m oder M folgt, dann könnte es gehen.


Antwort
Zitat
beg0r
Beigetreten: 07.05.2006

warum macht ihr das "?" an den anfang der klammer? fragezeichen bedeutet ja, dass das zeichen optional ist, allerdings habt ihr kein zeichen genannt. (EDIT: okay, ist irgendwas spezielles, was ich nicht kannte :()

kannst du dein ziel nochmal genauer formulieren? du möchtest alle URLs von foo.com matchen, die kein "magazin" in der URL haben?

ansonsten würd ich versuchen eher "\w" zu benutzen, statt [a-z] oder sowas. das beinhaltet alle buchstaben, zahlen, unterstriche und vielleicht auch bindestriche. bin nicht sicher.


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

ich glaub jetzt hab ichs

/^.(?!agazin-)[a-z0-9-]+-[\d]+\/?$/

@django
den leading / hab ich nicht zur verfuegung.
das ist eine regel fuer add_rewrite_rule() von wordpress und da hat die uri anscheinend keinen fuehrenden /

@begr0r
ja das sind die lookforward lookbehind lookaround sachen und an der stelle keine quantifier
\w benutz ich nicht, weil fuer mich halt nur a-z0-9 und - valide zeichen sind
und unterstrich ist ungueltig in meinem fall


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

ok, laeuft...

kennt jemand nen guten link wo so sachen wie

1. atomic groups geklaert werden vor allem fuer mehrere groups?
2. genererel die add_rewrite_rules() fuer ein uebergebenes array erklaert werden?


Antwort
Zitat