Reguläre Ausdrücke: Verständnisfrage bzw. Hilfe mit "Wildcards"

Diskutiere und helfe bei Reguläre Ausdrücke: Verständnisfrage bzw. Hilfe mit "Wildcards" im Bereich freie Fragen im SysProfile Forum bei einer Lösung; NEW= Problem wurde gelöst, siehe Beitrag #14. OLD= Ich bräuchte Hilfe mit einem regulären Ausdruck (nachfolgend nur noch regex). Ich möchte einen... Dieses Thema im Forum "freie Fragen" wurde erstellt von mitcharts, 16. Oktober 2014.

  1. mitcharts
    mitcharts Wandelnde HDD
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551

    NEW=
    Problem wurde gelöst, siehe Beitrag #14.



    OLD=
    Ich bräuchte Hilfe mit einem regulären Ausdruck (nachfolgend nur noch regex).

    Ich möchte einen reg. Ausdruck erstellen, mit dem alles mögliche erfasst wird, was nach der Domain kommt.
    Bisher habe ich die beiden folgenden reg. Ausdrücke gefunden:
    /^(http:)\/\/(.+\.)?(moviepilot.de)(.*$)/
    /^(http:)\/\/(.+\.)?(moviepilot.de)\/(.*$)/

    Laut http://www.regexr.com/ wird mit beiden reg. Ausdrücken alles mögliche "ge-match-t", aber im Skript selbst funktioniert es nur mit bestimmten URLs.

    Mit oben genannten reg. Ausdrücken kommt es nur auf folgenden URLs zu einem Treffer:
    http://www.moviepilot.de/
    http://www.moviepilot.de/news/*
    http://www.moviepilot.de/myprofile
    http://www.moviepilot.de/users/*

    Auf folgenden Seiten funktioniert es nicht:
    http://www.moviepilot.de/serie
    http://www.moviepilot.de/serie/*
    http://www.moviepilot.de/movies
    http://www.moviepilot.de/movies/*
    http://www.moviepilot.de/forums
    http://www.moviepilot.de/forums/*
    http://www.moviepilot.de/suche
    http://www.moviepilot.de/suche?*
    http://www.moviepilot.de/blogs
    http://www.moviepilot.de/blogs/*

    Wo liegt nun der Fehler bei den oben aufgeführten reg. Ausdrücken?
     
    #1 mitcharts, 16. Oktober 2014
    Zuletzt bearbeitet: 16. Oktober 2014
  2. Da GuRu
    Da GuRu Administrator
    Admin
    Registriert seit:
    22. Dezember 2006
    Beiträge:
    1.568
    Zustimmungen:
    87

    Verwendest du auch die gleichen Flags?
    g und m?
     
  3. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    Ich verwende gar keine Flags. :D

    Habe jetzt mal testweise hinter den abschließenden Schrägstrich "gm" bzw ".+/igm/" angefügt, aber damit funktioniert es auch nicht.
     
  4. Da GuRu
    Da GuRu Administrator
    Admin
    Registriert seit:
    22. Dezember 2006
    Beiträge:
    1.568
    Zustimmungen:
    87
    Welche Programmiersprache verwendest du?

    Es gibt unterschiedliche Standards.

    Zeig uns am besten den Codeausschnitt.
     
  5. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    Ich benutze Javascript/jquery.

    Hier der Code-Schnipsel (ohne Flags):
    Code:
    if ( /^(http:)\/\/(.+\.)?(moviepilot.de)(.*$)/.test(window.location.href) ){
        irgendwas();
    }

    Hier die Code-Schnipsel (mit Flags):
    Code:
    if ( /^(http:)\/\/(.+\.)?(moviepilot.de)(.*$)/gm.test(window.location.href) ){
        irgendwas();
    }
    Code:
    if ( /^(http:)\/\/(.+\.)?(moviepilot.de)(.*$)/.+/igm/.test(window.location.href) ){
        irgendwas();
    }
     
  6. Da GuRu
    Da GuRu Administrator
    Admin
    Registriert seit:
    22. Dezember 2006
    Beiträge:
    1.568
    Zustimmungen:
    87
    Probiere mal so:

    Code:
    if ( /^(http:)\/\/(.+\.)?(moviepilot.de)\/(.*$)/igm.test(window.location.href) ){
        irgendwas();
    }
     
    1 Person gefällt das.
  7. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    @gemini
    Damit funktioniert es auch nur auf den von mir genannten Seiten.

    @Guru
    Ebenso.
     
    #7 mitcharts, 16. Oktober 2014
    Zuletzt bearbeitet: 16. Oktober 2014
  8. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    Hier ein paar URLs wo es nicht funktioniert:
    http://www.moviepilot.de/forums/film-forum
    http://www.moviepilot.de/news/300-die-freiheit-des-weissen-mannes-137354
    http://www.moviepilot.de/movies/300-2-rise-of-an-empire-xerxes
    http://www.moviepilot.de/serie/utopia

    Daneben noch folgende URLs, die ich oben schon erwähnt habe:
    http://www.moviepilot.de/serie
    http://www.moviepilot.de/movies
    http://www.moviepilot.de/forums
    http://www.moviepilot.de/suche
    http://www.moviepilot.de/blogs
     
  9. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    Nope, der Ausdruck funktioniert auch nicht. :(

    Alle eure Varianten habe ich auch auf http://www.regexr.com/ getestet und da ist es nachwievor so, dass alle URLs "matchen". Nur bei der eigentlichen Nutzung greift's dann nicht mehr.
     
    #9 mitcharts, 16. Oktober 2014
    Zuletzt bearbeitet: 16. Oktober 2014
  10. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551
    Ich nutze dafür nur "window.location.href", korrekt.

    Aber ich Trottel hab den Fehler gefunden ... ich hab in dem Greasemonkey-Skript natürlich nur gewisse URLs per "@include" zugelassen. Bei allen anderen URLs greift das GM-Skript dann natürlich nicht, ergo auch die reg. Ausdrücke nicht. >_>

    Dennoch, vielen Dank für eure Hilfe.
     
  11. mitcharts
    mitcharts Wandelnde HDD
    Themenstarter
    Registriert seit:
    23. Januar 2007
    Beiträge:
    11.682
    Zustimmungen:
    551

    Wenn ich darauf nicht gekommen wäre, ja. :o

    Ich hab euch beiden aber mal ein Reno gegeben. :)
     
Thema:

Reguläre Ausdrücke: Verständnisfrage bzw. Hilfe mit "Wildcards"

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden