Avatar billede jl4511 Nybegynder
15. august 2005 - 15:11 Der er 13 kommentarer og
1 løsning

Behøver hjælp til regexp

Hej

Jeg skal bruge en regexp, der kun lader rækker slippe igennem som matcher f.eks. "AND" (altså en rap and)

Disse skal slippe igennem:
En AND der flyver.
AND går amok
Det var en AND

Disse skal IKKE slippe igennem:
En mAND med en spAND
ANDre der kan?
Er der ANDre der vil?

Regexp er ikke min stærke side - please help !
Avatar billede busschou Praktikant
15. august 2005 - 15:13 #1
det må være sådan her
\bAND\b
selvfølgelig skal du så lave den case insensitive hvis du er ligeglad med om det er And eller AnD osv
Avatar billede roenving Novice
15. august 2005 - 15:13 #2
\band\b

\b betyder word-border ...
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:17 #3
Glemte at sige vi er i PHP og mySql :-)

Efter jeres anvisninger prøvede jeg denne, men fik intet resultat ud.

SELECT * FROM 'min tabel' WHERE keywords REGEXP '\band\b'
Avatar billede busschou Praktikant
15. august 2005 - 15:22 #4
ok der er jeg så lost, jeg vidste/ved intet om hvorvidt man i mysql kan søge på regulære udtryk
Avatar billede busschou Praktikant
15. august 2005 - 15:24 #5
umiddelbart jvnf http://dev.mysql.com/doc/mysql/en/regexp.html
kan jeg ikke se hvad der går galt
måske roenving ved noget om det
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:24 #6
Det gør man bare sådan her:
SELECT * FROM 'min tabel' WHERE keywords REGEXP '^and'
Og ovenstående giver resultat, men KUN fordi ordet AND står som det første.
Avatar billede erikjacobsen Ekspert
15. august 2005 - 15:25 #7
Prøv
SELECT * FROM 'min tabel' WHERE keywords REGEXP '[[:<:]]and[[:>:]]'
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:34 #8
BINGO !! Tak :-)

Smider du et svar Erik?
Avatar billede busschou Praktikant
15. august 2005 - 15:36 #9
erik >> kan jeg ikke få dig til at uddybe det regulære udtryk blot for min egen forståelses skyld ;o)
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:39 #10
Ja - det ville da egentlig være rart, måske man fattede bare lidt :-)
Avatar billede erikjacobsen Ekspert
15. august 2005 - 15:40 #11
De mærkelige tegn betyder bare ordgrænser. Det står på linket ovenfor.

Men jlk551, du skal nok lige sikre dig at de mystiske tegn vi har på dansk fungerer som de skal. Test:

  "Der kom en kløand gående henaf landevejen"

Den skal ikke matche, med mindre "ø" bliver opfattet som ordgrænse.

Jeg samler slet ikke på point, tak.
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:44 #12
Ok, jamen så må du nøjes med en stor tak.
Jeg har testet med et par æ,ø og å'er - og får det ud af det som jeg vil have.

Smider du et svar så busschou?
Avatar billede busschou Praktikant
15. august 2005 - 15:45 #13
ja hvis du mener det er fortjent :o)
lærte også lige lidt selv der
Avatar billede jl4511 Nybegynder
15. august 2005 - 15:46 #14
Du har brugt af din kostbare tid.... og de brændte i min lomme :o)
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