StianBak Skrevet 5. juni 2010 Del Skrevet 5. juni 2010 Hei! Jeg har en database med forskjellige artister og band jeg vil søke gjennom. Spørringen jeg bruker nå (REGEXP '[[:<:]]$keyword') funker helt fint frem til jeg skal søke på artistnavn som tilfeldigvis begynner med punktum (.). Dette tuller seg jo med spørringen og henter ut alle radene i tabellen. Jeg er helt grønn på regular expressions, så jeg trenger litt hjelp med å slenge på to slashes før alle punktum i en streng. Hjertelig takk på førehand. Lenke til kommentar
geir__hk Skrevet 6. juni 2010 Del Skrevet 6. juni 2010 Det hjelper ikke å slenge ut noen random kode her. Kom heller med typiske treff som du vil at regular expressions skal matche. Gjerne tre fire så du viser gangen. Lenke til kommentar
StianBak Skrevet 6. juni 2010 Forfatter Del Skrevet 6. juni 2010 (endret) Det var kanskje litt dårlig forklart... Den spørringen jeg har skrevet til nå funker helt fint til å hente ut artistnavn som Kaizers Orchestra, Oasis eller Kent, og album som The Masterplan, Ompa til du dør osv. Men ikke hvis man vil søke på f.eks (What's the story) morning glory, eller ...And justice for all. Dette fordi punktum virker som et wildcard ser det ut som. Så jeg tror jeg trenger en måte å escape punktum og andre mysql-sensitive karakterer slik at det går an å bruke dem i en søkestreng. Så når brukeren begynner å skrive ".." så skal kun de treffene som faktisk begynner på to punktum dukke opp, og ikke alle radene med to eller fler bokstaver i navnefeltet. Det samme hvis brukeren begynner å skrive "(". Sistnevnte eksempel gir bare denne feilmeldingen for øyeblikket: "Got error 'parentheses not balanced' from regexp" Endret 6. juni 2010 av DeGrevio Lenke til kommentar
geir__hk Skrevet 6. juni 2010 Del Skrevet 6. juni 2010 Det vanlige i regexp er å slenge på en backslash forran punktum for å matche et punktum. Dette vil matche et punktum: \. Dette vil matche to punktum etter hverandre: \.\. Eller \.{2} Nb: sistnevnte alternativ er det mer skjeldent at programmer støtter, men det burde virke. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå