webForumDet fria alternativet

RegExp.

10 svar · 394 visningar · startad av Fredde Mannen

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#1

Är kass på regexp, men i alla fall

	Dim objRegExp
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = False
	objRegExp.Global = False
	objRegExp.Pattern = "Att:(*?):(*?)"

	Set rs = MyConn.ExeCute("Select * from guestbook where namn='" & $1 & "' AND datum='" & $2 & "'")

	stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext) 
	rs.close

att den läser igenom en text, och hittar den i texten ex: Att:Fredde:2005-01-01

så skall den hämta den meddelandet och skriva ut det mellan ex. <pre></pre>

hjälp på vägen tack! :)

emissionMedlem sedan dec. 19996 721 inlägg
#2
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:([^:]+):([^:]+)"

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
Fredde MannenMedlem sedan nov. 20014 054 inlägg
#3

huhu

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#4

Bläää blir fel i alla fall...

Syntaxfel (operator saknas) i frågeuttrycket 'namn='Tommy' AND datum=2005-10-15<br /><br />Tjohej f&#246'.

pattern tar med allt efter 2005-10-15
Jag vill att den bara plockar ut i detta fall, Tommy, som den gör rätt, men fel på datum.. där tar den allt efter också.. :(

emissionMedlem sedan dec. 19996 721 inlägg
#5

Du verkar ha slängt bort enkelfnuttarna runt datumet...

Jag var lite lat när jag skrev mönstret

objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#6

emission skrev:

Du verkar ha slängt bort enkelfnuttarna runt datumet...

Jo det gjorde jag bara för att se vad mer som kom med.. utan att behöva skriva ut satsen. :)

Okei.. skall testas! :)

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#7

hmm..

Select * from guestbook where namn='Fredde' AND datum='2005-12-09'Utför test nu..

Av det senaste mönstret, så ja visst. Den plockar ut det, och stoppar det mellan fnuttarna, men lika fullt så sätter den nästa text efter fnuttarna, den texten som jag inte alls vill ha med...

I nuläget utan Execute, bara response.write.

	Set objRegExp = New RegExp
		objRegExp.IgnoreCase = False
		objRegExp.Global = False
		objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"

		set colMatches=objRegExp.Execute(stext)
		Dim namnet, datumet
		
		if colMatches.Count>0 then
                        
			namnet = replace(colMatches(0).Submatches(0),"'","''")
			datumet = replace(colMatches(0).Submatches(1),"'","''")
		
			Response.Write("Select * from guestbook where namn='" & namnet & "' AND datum='" & datumet & "'")
			' stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext) 
			' rs.close
		end if
Fredde MannenMedlem sedan nov. 20014 054 inlägg
#8
	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(stext)

	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,"<div align=""center""><table style=""width: 90%;""><tr><td style=""background-color: #DEDEE4;color: #000000;""><b>" & rs("namn") & "</b>, " & rs("datum") & " " & VbCrlf & rs("meddelande") & "<td></tr></table></div>") 
		rs.close
	end if

Funkar fint nu, dock att den bara ersätter 1 gång mer inlägg.. alltså man kan inte göra 2 eller fler ersättningar... *snyft*

mozillaMedlem sedan juli 20011 084 inlägg
#9

Du har ju stängt av det???

objRegExp.Global = False

Ändra det till true så är sökningen global.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#10

Ooops.. :)

Peter SMedlem sedan dec. 20025 483 inlägg
#11

Tips! (y)

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
135 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)