---
title: "regexp i sökning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/111097-regexp-i-sökning"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "laidback"
published: "2004-09-08T13:33:31.000Z"
updated: "2004-09-13T09:24:25.000Z"
replies: 7
views: 344
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/111097-regexp-i-sökning"
---

# regexp i sökning

## #1 — laidback, 2004-09-08T13:33Z

Sitter och pillar med en sökfunktion, ska söka mot en accessdatabas. 

SQL-satsen ser ut ungefär så här

```
SQL = "SELECT * FROM bilder WHERE bildtext LIKE '%" & sokord & "%' "
```

Det fungerar fint, men som de flesta andra har jag ju upptäckt att en sökning på t ex 'bil' returnerar allt som innehåller ordet bil, billig, biltjuv, labil osv. Jättekul visserligen, men lite lätt opraktiskt i längden. 

Har då lyckats läsa mig till att det går att förfina sökningen med hjälp av reguljära uttryck, hittade ett exempel på eforum som visserligen handlade om php och sql men jag tänkte att det kanske borde vara något liknande?
Det såg ut så här: 

```
SELECT grejer FROM tabell WHERE LCASE(kolumnnamn) REGEXP "([[:space:]]|^)".quotemeta($ordet)."([[:space:]]|[[:punct:]]|$)"
```

Någon föreslog en kombination, dvs att först plocka ut potentiella träffar och sedan regexp'a dom för att slippa regaxp'a sådant som inte ens är en potentiell träff.

Fungerar regexp öht när man söker i access? 

Och hur borde en sådan sql-sats se ut? Har lite erfarenhet av regexp men inte så värst mycket, så hjälp mottages tacksamt.

Jag har sökt och sökt men hittar inget vettigt, börjar bli lite lätt snurrig nu så ha överseende med ev misstag.  :x

Permalänk: https://www.webforum.nu/p/111097

## #2 — Jesper T, 2004-09-08T13:41Z

Jag är också nyfiken men jag misstänker att det beror på vilken databas du använder. 
MySql har ju en sådan funktion, hur det är med Access och MsSql vet jag inte.
Inlägget kanske kan flyttas?!

Permalänk: https://www.webforum.nu/p/1433269

## #3 — laidback, 2004-09-09T06:55Z

Som sagt, jag använder Access i just det här fallet, men är även (sekundärt) intresserad av hur man gör mot en msSQLdatabas.
Kanske hade det här passat bättre i ett databasforum eller i sql-forumet? Vänlig moderator får gärna flytta isf.  :)

Permalänk: https://www.webforum.nu/p/1433727

## #4 — laidback, 2004-09-11T12:53Z

\*puttar\*

Permalänk: https://www.webforum.nu/p/1435141

## #5 — LarsG, 2004-09-11T13:10Z

SQL har stöd för regexp men det är inte implementerat i Access eller SQLserver. 

Nu kan du göra lite mer med like (i alla fall i SQL server)

```
where c like ' %searchterm[ .?!,]%'
 or c like  'searchterm[ .?!,]%'
```

Flyttas från ASP.

Permalänk: https://www.webforum.nu/p/1435144

## #6 — laidback, 2004-09-13T07:26Z

Okej, tack för hjälpen :) Eftersom det här projektet enbart har en accessdatabas att tillgå så får jag försöka klara mig utan regexpsökning för stunden då. 

Vet du om det finns något annat sätt att söka efter exakta ord och inte bara delar av ord i Access?

Permalänk: https://www.webforum.nu/p/1435979

## #7 — Jesper T, 2004-09-13T07:31Z

Vad betyder detta: \[ .?!,\]
?

Permalänk: https://www.webforum.nu/p/1435980

## #8 — laidback, 2004-09-13T09:24Z

Jag tror det är att den matchar även där sista tecknet är .?!, dvs även första och sista orden i meningar som annars inte tas med i matchningen.

Permalänk: https://www.webforum.nu/p/1436018

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/111097-regexp-i-sökning
