Regex: URLS aus CSS

Jaskur

Mitglied
Hallo, ich versuche gerade einen Regex zu basteln welche alle URLs in einem CSS File extrahiert.

Das Muster sieht im Grunde so aus.
url(../bilder/profil2/bild.jpg);
url( "../bilder/profil2/bild.jpg");
url('../bilder/profil2/bild.jpg' );

Das Bedeutet:
1.) url
2.)Beliebig viele Leerzeichen
3.)Eine offene Klammer
4.)Beliebig viele Leerzeichen
5.)Optional: Hochkommer oder doppeltes Hochkommer
6.) Die Url
7.)Optional: Hochkommer oder doppeltes Hochkommer
8.)Beliebig viele Leerzeichen.
9.)Eine geschlossene Klammer
10.)Strichpunkt

Edit: Mein aktueller Regex:
String regex ="url\\s*(\\s*[\"']?[\\.\\d\\w/]*[\"']?);";
Allerdings funktioniert er nicht :/



Ich probier jetzt schon seit Stunden herum und bekomme nichts vernünftiges raus, ich habe Regex zuvor auch nur für seeehr triviale Sachen verwendet und wäre für Hilfe dankbar.
 
Zuletzt bearbeitet:
Die Klammer sollten escaped werden, außerdem fehlen noch Leerzeichen vor der schließenden Klammer, könnte sowas wie
Code:
url\\ *\\(\\ *["']?[\\.\\d\\w/]*["']?\\ *\\);
sein
 
Vielen Dank!!

Mit folgendem Regex funktioniert es: String regex= "url\\ *\\(\\ *[\"']?[\\.\\d\\w/]*[\"']?\\ *\\)";

Ich habe den Strichpunkt am Ende noch entfernt da der manchmal nicht vorkommt.
Du hast mir wirklich sehr geholfen!!

Edit: um den Bindestrich und den Underscore im Dateinamen auch noch zu erlauben:
String regex= "url\\ *\\(\\ *[\"']?[\\.\\d\\w-_/]*[\"']?\\ *\\)";
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben