Felix Riesterer: regex funktioniert in php aber in js nicht

Beitrag lesen

Lieber Mathias,

"http://[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}(/\S*)?$"
[...] Dein tatsächlicher regulärer Ausdruck lautet in JavaScript wie folgt:

/http:/

[...] Du musst, mangels alternativer Delimiter, in JS die Slashes also maskieren:

/http:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}(\/\S*)?$/

...oder aber den String selbst von Javascript zu einem RegExp-Objekt umwandeln lassen. Dann sind alle nötigen Maskierungen von vornherein enthalten.

Ich probier's mal ungetestet:

var muster = "http://[a-zA-Z0-9-.]+\.[a-zA-Z]{2,4}(/\S*)?$";  
var modifier = "gi";  
var suchmuster = new RegExp(muster, modifier);  
var teststring = "http://..Dackelwackel...blah/meineseite.xml";  
alert(teststring.match(suchmuster));

Liebe Grüße aus Ellwangen,

Felix Riesterer.