Jag skulle behöva hjälp med att skriva ett reguljärt uttryck.
Jag har ett stort antal filer som alla använder var sin CSS-fil. Nu vill jag leta igenom alla filer och byta ut CSS-länken.
Jag förklarar gärna närmare om nåt är oklart. :)
6 svar · 286 visningar · startad av Web-Tor
Jag skulle behöva hjälp med att skriva ett reguljärt uttryck.
Jag har ett stort antal filer som alla använder var sin CSS-fil. Nu vill jag leta igenom alla filer och byta ut CSS-länken.
Jag förklarar gärna närmare om nåt är oklart. :)
Well... själva regexpen kan väl kanske inte vara så svår. Gör du det hela med någon sökochersättfunktion i någon editor, eller?
HSH, det borde väl funka med något i stil med <link href="(.*?)" rel="stylesheet" type="text/css">, naturligtvis beroende på hur link-taggarna ser ut (desto mer lika varandra desto roligare blir det).
Oj! Ett svar. :o
För tillfället så gör jag det i ett program men det är tänkt att det ska bli ett litet dos-program som ska kunna gå igenom alla filerna i en utpelad katalog. Problemet är att CSS-länkarna ser väldigt olika ut i dom olika HTMl-dokumenten så just nu kör jag med det här för att vara säker på att hitta alla CSS-länkar:
href=\"[0-9 A-Z a-z _]*\.css\"
DOS-program... yuck :x
På *NIX hade det varit en bagatell att göra med ett shellscript, men under Windows är det lite knepigare (eftersom sed inte finns). Något som kanske kan rekommenderas är Perl ( :D ) som ju är perfekt för arbete av den här typen. Är det ett hack för dig själv, eller ska andra ta del av det? Om det är OK att ha Perl installerat har jag ett script liggandes någonstans som gör ungefär det du behöver.
Jo, vi funderade på Perl men eftersom vi inte vet vilka datorer som det kommer köras på funkar det inte. Vi kan inte förutsätta att alla har Perl. Tyvärr så måste det funka i win-miljö. ;)
Endera (om du vill ha det i DOS) kastar man ihop ett litet C/C++/Pascal progg ... eller (win) så har du ju Java att tillgå. Det simplaste och mest portabla är ju det sista och du behöver inte dra till med regexp för detta, även om det sparar en eller två rader med kod ;)
(regexp finns ju inte i äldre Java vers än 1.4)
Vad är det för fel på VBScript och den inbyggda RegExp:en? Titta på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsobjRegExp.asp?frame=true
Filhanteringen kan göras med FileSystemObject, se http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/sgProgrammingFileSystemObject.asp?frame=true