---
title: "Reg. Exp."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45503-reg-exp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oJones"
published: "2002-06-09T15:00:13.000Z"
updated: "2002-06-10T16:51:44.000Z"
replies: 5
views: 304
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/asp/45503-reg-exp"
---

# Reg. Exp.

## #1 — oJones, 2002-06-09T15:00Z

Försöker bli klok på Reg. Exp. men det går inget vidare.

Det hela är till en sökfunktion som ska söka igenom en databas. Alla poster i databasen är i VARCHAR (mysql).

Problemet kommer då man söker efter "0200". Det finns en post som heter just 0200, men den hittas inte. Däremot hittas 02 och 2000.
Samma sak gäller när man söker efter . (punkt).

```
Function PunchWord(astring)
	
	astring = Replace(astring,",","%")
	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true		 	                 objRegExp.Pattern = sokord

		Set matches = objRegExp.Execute(astring)
			For Each match In matches
				astring = Replace(astring,match,"<b>" & match & "</b>")
			Next
		Set matches = Nothing
		
	Set objRegExp = Nothing
	astring = Replace(astring,"%",",")
	PunchWord = astring
End Function
```

Någon som kan hjälpa till?

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

## #2 — LarsG, 2002-06-09T15:34Z

Varför regexp överhuvudtaget?

```
replace(astring,sokord,"<b>" & sokord & "</b>")
```

Om du skall använda regexp så måste du särbehandla väldigt många tecken genom att skriva, t.ex.

```
pattern = "\."
```

om du vill söka på . eftersom det normalt betyder att man matchar ett godtyckligt tecken.

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

## #3 — oJones, 2002-06-10T09:21Z

Anledningen till reg.Exp är att jag vill att den ska låta det sökta ordet stå kvar i exakt samma ordning vad gäller gemener/versaler.

Söker man efter "will" så skriver den ut \<b\>will\</b\> istället för \<b\>Will\</b\> som är det korrekta.

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

## #4 — pirro, 2002-06-10T16:43Z

vet inte men kanske

```
Function PunchWord(astring)

	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true		 	                 		objRegExp.Pattern = "" & Replace(sokord,".","\.")

		Set matches = objRegExp.Execute(astring)
			For Each match In matches
				astring = Replace(astring,match,"<b>" & match & "</b>")
			Next
		Set matches = Nothing
		
	Set objRegExp = Nothing
	PunchWord = astring
End Function
```

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

## #5 — pirro, 2002-06-10T16:47Z

Mixtrade lite o fickd etta att fungera...

```
<%
Function PunchWord(astring,sokord)

	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = "" & Replace(sokord,".","\.")

		Set matchesa = objRegExp.Execute(astring)
			For Each matcha In matchesa
				astring = Replace(astring,matcha,"<b>" & matcha & "</b>")
			Next
		Set matches = Nothing
		
	Set objRegExp = Nothing
	PunchWord = astring
End Function

%>
<%=PunchWord("min text her sa det sa","text")%>
```

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

## #6 — pirro, 2002-06-10T16:51Z

Kom på en verson om du ska ha flera sökord....

```
<%
Function PunchWord(astring,sokord)
sokord = Replace(sokord,".","\.")
apa = split(sokord,",")
nya = ""
for i = 0 to ubound(apa)
nya = nya & "(" & apa(i) & ")"
if i <> ubound(apa) then
nya = nya & "|"
end if
next
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = nya

		Set matchesa = objRegExp.Execute(astring)
			For Each matcha In matchesa
				astring = Replace(astring,matcha,"<b>" & matcha & "</b>")
			Next
		Set matches = Nothing
		
	Set objRegExp = Nothing
	PunchWord = astring
End Function

%>
<%=PunchWord("her har du en hel hog med ord ser du","har,hel,ord")%>
```

alltså dela upp med ,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/45503-reg-exp
