Function my(SubjectString)
Dim myRegExp, myMatches, myMatch, i, myArray()
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Global = True
myRegExp.Pattern = "<!--(.*)-->"
Set myMatches = myRegExp.Execute(SubjectString)
For Each myMatch In myMatches
Response.Write myMatch.Value
myRegExp.Pattern = " ?([^\=]*)=""(.*?)"" ?" ' Picked out everything in the comment section
set m = myRegExp.Execute(Replace(Replace(myMatch.Value,"<!--",""),"-->","")) 'Remove the comment lines
Redim Preserve myArray(m.count - 1,1)
for each mMatch in m
myArray(i,0) = mMatch.SubMatches(0) 'Attrubut
myArray(i,1) = mMatch.SubMatches(1) 'Värde
i = i + 1
Next
Next
my = myArray
End Function
... mycket litet testat från mitt håll..
Dim m
m = my("<!--hej=""asd"" as=""b"" as=""b""-->")
Response.Write m(0,0) ' Ger "hej"
oskarsMedlem sedan nov. 20051 317 inläggobjRegExp.Pattern = "<!-- local=""[^""]+"" file=""[^""]+"" -->4589<!-- local --> </span> </p> <p class=""id""> <span class=""cust"">.*?</span>"
Med den h är så får jag även med "4589", vill dock inte ha med det. Och 4589 är alltid olika siffror så jag kan inte bara köra Replace(). Nån tanke?
är det alltid nummer?
ersätt: 4589 -> \d+ isåfall..
oskarsMedlem sedan nov. 20051 317 inläggDet kan även innehåll typ "-", ":"...
oskarsMedlem sedan nov. 20051 317 inläggLedsen asså, förstår om jag känns omöjlig..
men [/d-:]+ tar t.ex inte bort 12-0508
Och om du hade läst vad jag skriver så hade du löst det ;) inte / det ska vara \
[\d\-:]+
oskarsMedlem sedan nov. 20051 317 inläggNej men asså.. skrev fel här i tråden bara :)
Om jag ersätter 4589 med [\d\-:]+ i mitt pattern så händer ingenting... den skriver ut 4589 i vilket fall... spelar det någon roll om det t.ex står "4589 " med mellanslag i slutet?
Visa VAD du gör.. RegExp hittar bara patternet.. den plockar inte bort något... än ;)
oskarsMedlem sedan nov. 20051 317 inläggobjRegExp.Global = True
objRegExp.IgnoreCase = True
objRegExp.Pattern = "<!-- local=""[^""]+"" file=""[^""]+"" -->[\d\-:]+<!-- local--> </span> </p> <p class=""id""> <span class=""cust"">.*?</span>"
'objRegExp.Pattern = "\b\d{2}-\d{8}"
Set hittade = objRegExp.Execute(strHTML)
For each item in hittade
myItem = item.value
myItem = Replace(myItem,VbCrLf,"")
Next
Så här ser det ut :)
ditt "tal"... melland din "local" kommentar.. är det mellanslag och " i den eller vad skrev du?
din förra fråga om det spelar någon roll om du har " och ett mellanslag:
Ja det gör det
oskarsMedlem sedan nov. 20051 317 inläggNäeh... det kommer nog aldrig vara det faktiskt...
Typ sånt här format ska det va 0651-651651
Fast det är olika antal siffror mellan bindestrecket, jämnt.
Det är alltså det jag vill ha bort :) Nu hittar vi ju det, men det ska bort btr bort bort.. jag vill hem hem hem, jävla fredag! :) Tack för att du hjälper mig!
säg vilka tecken det _kan_ vara... kan det vara allt förutom a-z ?
prova med:
[\w\W]+
oskarsMedlem sedan nov. 20051 317 inläggBara siffror och -
Okej! Den hittar med [\w\W]+ också...
tar jag bort det med .Replace(myItem,"$3","") ?
nej.. eftersom du inte ha () någonstans i din kod... () = Grupp första gruppen kan mycket väl vara din "0651-651651" träff...
oskarsMedlem sedan nov. 20051 317 inläggOkej, ska jag sätta () runt [\w\W]+ och sen ta .Replace på $1?
oskarsMedlem sedan nov. 20051 317 inläggSka testa detta! Återkommer med resultat!
(<!-- local="[^"]+" file="[^"]+" -->)[\d\-:]+(<!-- local--> </span> </p> <p class="id"> <span class="cust">.*?</span>)
$1$2
Om ditt inte fungera..
red. ditt bör fungera med $1 redan dock ;)
oskarsMedlem sedan nov. 20051 317 inläggOkej! Jag testade det där själv, men fick inte skiten att funka! Nu testade jag din... förstår att jag fick två stycken grupper nu...
Jag ber om ursäkt för numret hänger fortfarande med...
Meeen, jag antar att jag måste lägga in att den bara ska hämta $1 och $2 någonstans! Men frågan är bara varit.
Jag testade med ObjRegExp.Replace(myItem,"$1$2"), men det ville sig inte.