Avatar billede hstenbaek Nybegynder
10. september 2004 - 14:33 Der er 4 kommentarer og
1 løsning

problemer med \b når pattern sluttr på bogstavet-å

Hej Ekspert(er)

Jeg har lidt problemer med en reg.exp i VBScript.

regEx.IgnoreCase = true
regEx.Global = true
           
regEx.Pattern = "\b(" & rs("WordTxt") & ")\b"

Det virker fint så længe WordTxt ikke slutter på å - i de tilfælde finder den ikke ordet. F.eks. finder den ikke:

gråblå, blå og violetgrå/grå

mens den fint finder:

blågrå/brun, blåliggrå/rød og blå/brun.

Jeg er ikke sikker men måske jeg også har problemet når ordet slutter på ø eller æ.

Det er ligesom om at den opfatter å'et som ord slut!
Avatar billede eagleeye Praktikant
10. september 2004 - 14:41 #1
Det fordi æøå ikke betraktes som bogstaver men som skliletegn om (){}[]-.,+-*/osv.

Det samem gælder hvis man bruger \w er det 0-9 a-z og_,  æ ø å er ikke med.
Avatar billede eagleeye Praktikant
10. september 2004 - 14:44 #2
Du kan prøve at skrive det som:

regEx.Pattern = "(^|[^a-zæøå\d])" & rs("WordTxt") & "([^a-zæøå\d]|$)"

og lave replace'en om så den tage $1 og $3 med. Samt ordet den søger efter er $2:

Eks hvis det var:
str = regEx.Replace (str,"<b>$1</b>")

Så bliver det:
str = regEx.Replace (str,"$1<b>$2</b>$3")
Avatar billede eagleeye Praktikant
10. september 2004 - 14:46 #3
der mangler lige () omkring ordet i det pattern jeg fik vist :)

regEx.Pattern = "(^|[^a-zæøå\d])(" & rs("WordTxt") & ")([^a-zæøå\d]|$)"
Avatar billede hstenbaek Nybegynder
10. september 2004 - 15:17 #4
Kanon - TAK - det ser ud til a virke - hvad med lige at smide et svar?
Avatar billede eagleeye Praktikant
10. september 2004 - 15:23 #5
Ok ;) her et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester