Din regex ser sådan ud: /[0-9.]+/ , så skal du bare sørge for at den matcher alle, ved ikke om man gør det med en funktion som i php preg_match_all, eller ved at tilføje en modifier der hedder global.
Dim ResultString, myRegExp, myMatches, myMatch Set myRegExp = New RegExp myRegExp.Pattern = "\b\d+\b" Set myMatches = myRegExp.Execute(SubjectString) If myMatches.Count >= 1 Then Set myMatch = myMatches(0) If myMatch.SubMatches.Count >= 1 Then ResultString = myMatch.SubMatches(1-1) End If End If
str = "ljs ifu we0r987231423u42098423oi4u23o47824o2u4" set rx = new RegExp rx.Global = true rx.IgnoreCase = true rx.Pattern = "\d+" set matches = rx.Execute(str) for each m in matches response.write m & "<br>" next
Kan ikke helt se hvordan klshp's skulle trikkes sammen men, din softspot... Den giver ikke det resultet den skulle...! :( se her http://webpigen.dk/match.asp
Det kan have noget at gøre med, at du indlæser en binær strøm af data som du smider til en tekstfortolkende funktion... jeg tror det vil give nogle komplikationer.
Jeg kender ikke til mulighederne i ADODB.Stream-objektet, men er der ikke en mulighed for at vælge formatet af data i output-stream(?), så kunne du muligvis klare det i hukommelsen...
Denne gut har strikket noget kode sammen, som læser binært og omsætter det til base64 (tekst), så du kan arbejde videre med det. Den kræver også at XMLDOM er installeret, men det giver dig i det mindste indholdet af filen som tekst...
Er det fordi du skal bruge netop tallene til noget specielt, eller er det generelt bare for at spore et mønster i billedets data (eller er det simpelthen den grafiske repræsentation af tal du er på jagt efter!?!?)? Hvis det blot er et mønster i selve filen du leder efter så kunne denne udgave måske bruges:
private function readBytes(file) dim inStream ' ADODB stream object used set inStream = Server.CreateObject("ADODB.Stream") ' open with no arguments makes the stream an empty container inStream.Open inStream.type= TypeBinary inStream.LoadFromFile(file) readBytes = inStream.Read() end function
private function encodeHex(bytes) dim DM, EL Set DM = Server.CreateObject("Microsoft.XMLDOM") ' Create temporary node with Hex data type Set EL = DM.createElement("tmp") EL.DataType = "bin.hex" ' Set bytes, get encoded String EL.NodeTypedValue = bytes encodeHex = EL.Text end function
Så spørgsmålet er i virkeligheden: Kan nogen læse tallene PÅ billedet? Det lyder som om du er ved at lave en virus der kan oprette emails og sende spam? :-p
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.