har en text som ser ut såhär: Såhär ur huvudet... ja, funkar Bara en liten påpekelse...reg exp hjälp, simpelt
libname kalle "c:\temp";
alternativt
libname kalle 'c:\temp;
alternativt
libname kalle xx "c:\temp";
där xx står kan det stå vad som helst, hur långt som helst.
det kan vara enkelfnuttar eller dubbelfnuttar omkring c:\temp
c:\temp kan även innehålla \ på slutet
det är alltid semikolon på slutet av strängen.
det börjar alltid med libname.
jag vill kunna byta ut c:\temp (c:\temp\) mot vad som helst.
obs! c:\temp är ett exempel, det kan stå p:\kalle\oskar med, godtyckligt alltså.
här är en mer kärnfull förklaring till vad jag vill åstadkomma:
libname xx yy "zz";
eller
libname xx yy 'zz';
jag vill i båda fallen kunna byta ut det som är innanför enkel eller dubbelfnuttarna mot vad jag vill.Sv: reg exp hjälp, simpelt
<code>
(libname.+?)('|")[^\2]+\2;
</code>
Sedan kör du en replace liknande följande
<code>
text = regexobj.replace("(libname.+?)('|"")[^\2]+\2;", "$1$2Sökvägen$2")
</code>
Du får testa dig fram, vet inte om ovanstående skulle fungera...Sv:reg exp hjälp, simpelt
jag satte regexp1.Pattern = "(libname.+?)('|" & Chr(34) & ")[^\2]+\2;"
och
sText = regexp1.Replace(sText, "$1$2" & sWPath & "$2")
..där sWpath = sökväg, ex "c:\temp"
verkar funka på enkel och dubbelfnuttar samt xx yy
hoppas jag inte gjort ngt fel bara.Sv: reg exp hjälp, simpelt
Du kan skriva dubbla citattecken ("") istället för " & Chr(34) & ".