webForumDet fria alternativet

Regular expression (problem med Plustecken)

ASPur ASP

2 svar · 247 visningar · startad av Andreas L

Medlem sedan sep. 2000215 inlägg
Frågan#1

Hej!

Jag håller på med en lite enkel sökmotor mot MySQL, där jag efter att jag fått svaren även markerar de sökord som finns i texten me fet stil.
Till detta använder jag regular expression typ;

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "(" & pattern & ")"

och skriver ut

objRegExp.Replace((Recordset1.Fields.Item("subjectnamn").Value),"<b>$1</b>")

Det fungerar jättebra ända tills jag skulle söka efter "c++" och då får jag felmeddelandet "Oväntad kvantifierare" på raden där jag använder den senare delen av koden.

Det verkar bara inträffa då jag har med två plustecken, däremot fungerar det om jag skulle skriva "c+++" eller "c+"

Snälla hjälp mig någon!!!
Jag har provat med Cstr() på vart enda ställe där pattern behandlas, eller replacefunktionen används men det är samma sak!

Tack på förhand!

EDIT: Det fungerar även om jag skriver "cc++" konstigt...

Medlem sedan sep. 2000215 inlägg
#2

Löste det själv genom att byta ut "+" mot "\+" när jag monterar mönstersträngen

Medlem sedan dec. 20003 887 inlägg
#3

Du måste escape:a alla tecken som är specialtecken i ett pattern.

Dom olika tecknen: http://www.devguru.com/Technologies/vbscript/quickref/RegExp_Pattern.html

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