Jag har följande patternRegExp pattern.
objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"
som syftar på att den skall plocka ut ex. Fredde samt datum, från följande exempel.
Att:Fredde:2005-01-01
Visst den plockar ut Fredde, den plockar ut datum, samt sätter dem på rätt plats i en SELECT-sats likt följande:
SELECT * FROM tbl WHERE namn='Fredde' AND datum='2005-01-01'
Men ser texten ut så här
Att:Fredde:2005-01-01
Testar lal la la
Då blir det helt plötsligt så här:
SELECT * FROM tbl WHERE namn='Fredde' AND datum='2005-01-01'Testar lal la la
vad e fel?
Funktionen ser ut så här:
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"
set colMatches=objRegExp.Execute(DinTextVariabel)
if colMatches.Count>0 then
Set rs = MyConn.ExeCute("Select * from guestbook where namn='" & replace(colMatches(0).Submatches(0),"'","''") & "' AND datum='" & replace(colMatches(0).Submatches(1),"'","''") & "'")
stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext)
rs.close
end if