Jag skulle behöva hjälp med ett utrycki RegEx. ..räcker det inte med att söka efter src="([\w ]+?)\.html?" Du har någonting på gång, jag fick fram "Huvud". ..normalt används ju \ för att escapa grejer, så testa ifall \" funkar, annars måste du ta reda på hur du kan använda " tecken inuti en sträng..Avancerad Regeg efterfrågas.
Om jag har en fil som innehåller;
<codesharp>
<frameset framespacing="0" border="0" frameborder="0" rows="125,*,70">
<frame name="overst" scrolling="no" noresize target="innehall" src="Top.htm">
<frameset cols="216,*">
<frame name="Venster" target="huvud" marginwidth="0" marginheight="0" scrolling="no" noresize src="Venster.htm">
<frame name="huvud" src="Huvud.htm" scrolling="auto">
</frameset>
<frame name="underst" scrolling="no" noresize target="innehall" src="Botten.htm">
<noframes>
</code>
...så skulle jag vilja att RegEx letade efter alla HTML-filer.
I detta fallet:
Top.htm
Huvud.htm
Venster.htm
Botten.htm
..därefte så skulle de döpas om med exstension ".asp"
Resultatet skulle allts bli:
Top.asp
Huvud.asp
Venster.asp
Botten.asp
Jag antar att detta måste ske i flera steg.
1 kontrollera om det finns någonting i filen som heter <frame name=
2 om det finns leta efter src=" " (med någonting imellan.
3 döpa om det.
Teoretiskt så har jag kanske uppfatningen om hur jag skall göra, men inte praktiskt.
Vore väldigt tacksam för hjälp.
[REDIGERAT]
om jag inte är helt fel ute, så borde väll den första del bli:
<frame name=".*?" src=".*?">
eller lite närmare:
<frame name=".*?" src=".*?(.htm)">
Jag får tydligen fram hela tagen här...
Men hur får jag tag i det som står efter src och renama till ".asp"?
Ser det rätt ut?Sv: Avancerad Regeg efterfrågas.
dvs litterärt src="
sedan börja en grupp, sedan en character group som innehåller alfanumeriska tecken + underscore + blank, matcha denna med + dvs, 1 eller flera tecken, non-greedy, slut på grupp
litterär .htm samt eventuellt l
och sedan använder du gruppen du fått, antagligen via \1 eller liknande, och adderar .asp
ofta finns en funktion regex.replace eller liknande som du kan använda
Den exakta syntaxen för just den regex engine (eller språk) du använder får du lov att kolla upp, men tror att du fick idénSv: Avancerad Regeg efterfrågas.
>Men den koden som jag undersökte hadde tre stycken olika html namn, men jag fick bara fram ett.
Fel tanke av mig, den skall ju loopas.
Nu är det emmelertid ett annat problem, jag skall köra detta i C#, och jag får inte till fnuttarna.
<codecharp>
//ditt mönster
src="([\w ]+?)\.html?"
//men i C#
string sText = "src=([+\\w ]+?)\\+.htm?";
//detta fungerar inte därför att det saknas fnuttar efter andra =
</code>
Några förslag?Sv: Avancerad Regeg efterfrågas.
annars verkar torde det gå att använda @-quoted strings, och då behöver du inte escapa \ tecken.. medan " escapas genom två stycken " dvs, @"hello ""foo""..." motsvarar hello "foo"...