---
title: "Unika RegExp-träffar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/128251-unika-regexp-träffar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "M@rtin"
published: "2005-05-14T23:47:25.000Z"
updated: "2005-05-15T00:27:25.000Z"
replies: 5
views: 312
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/128251-unika-regexp-träffar"
---

# Unika RegExp-träffar

## #1 — M@rtin, 2005-05-14T23:47Z

Hur gör man om man bara vill plocka ut unika Reg-Exp träffar?

T.ex. om man vill plocka ut alla ord i en sträng som börjar på "a" men om ordet finns flera gånger vill man bara skriva ut det en gång. Har sökt mig fördärvad efter det.

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

## #2 — Guffa, 2005-05-14T23:51Z

Det finns inget stöd för det i RegExp-objektet.

Ett sätt är att lägga in de hittade orden i ett recordset så att du kan sortera dem, då kan du ganska enkelt kolla vilka som är lika.

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

## #3 — Erik Juhlin, 2005-05-15T00:05Z

Eller så kan man slänga in dem i ett dictionary. :)

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

## #4 — M@rtin, 2005-05-15T00:08Z

Tack då vet jag, det var ju synd.

Men jag vet inte hur man fixar recordsetet.

```
<%
myString = "Fröken Anna heter egentligen Annbritt men brukar kallas för Anna för att hon tycker det är snyggare!"
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "\x20A\w{0,}"
Set myMatches = objRegExp.Execute(myString)
Response.Write "RegExp hittade "&myMatches.Count&"st träffar<br><br>"

For each item in myMatches
  Response.Write item.Value & "<br>" & vbCrlf
Next

%>
```

Blir inte myMatches ett recordset här?

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

## #5 — Erik Juhlin, 2005-05-15T00:15Z

```
myString = "Fröken Anna heter egentligen Annbritt men brukar kallas för Anna för att hon tycker det är snyggare!"
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "\x20A\w{0,}"
Set myMatches = objRegExp.Execute(myString)
Set objRegExp = Nothing

Dim dic
Set dic = Server.CreateObject("Scripting.Dictionary")
dic.CompareMode = 1

For each item in myMatches
  dic(item.Value) = 1
Next

Response.Write "RegExp hittade "&myMatches.Count&"st träffar, " & dic.Count & " unika<br><br>"

Set myMatches = Nothing

For each item in dic.Keys
  Response.Write item & "<br>" & vbCrlf
Next

Set dic = Nothing
```

Tänk bara på att \\w tar med a-z, 0-9 och \_. Alltså inte åäö...

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

## #6 — M@rtin, 2005-05-15T00:27Z

Funkade finfint!
Tackar!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/128251-unika-regexp-träffar
