---
title: "Regexp söka ut artikelnummer ur sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/137163-regexp-söka-ut-artikelnummer-ur-sträng"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2005-11-08T07:58:38.000Z"
updated: "2005-11-08T17:57:56.000Z"
replies: 8
views: 321
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/137163-regexp-söka-ut-artikelnummer-ur-sträng"
---

# Regexp söka ut artikelnummer ur sträng

## #1 — devotion, 2005-11-08T07:58Z

:h 

Hej!

Har fått hjälp med följande kod för att söka ut ett sjusiffrigt artikelnummer ur en sträng: (tack Peter S, funkar finfint!)

```
' Reguljärt uttryck för att matcha sju siffror efter varandra
dim re
set re = new regexp
re.pattern = "\d{7}"

' Med execute() får vi ut en array av träffar
' Eftersom global-flaggan ej är satt, kan vi endast få en träff och den ligger i m(0)
dim m
set m = re.execute(strArticleName)

if m.count then
	strEnumber = m(0)
end if

set re = nothing
```

Men jag har kommit på en sak...

Om montören skriver fel och det blir 9 siffror så är det ju inte ett giltigt nummer, som det är nu så tas ju det med eftersom villkoret är 7 siffror efter varandra. Kan man inte begraänsa till att det får vara max vara 7 sifrror i gruppen?

Mvh
Henrik

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

## #2 — Lasp, 2005-11-08T08:10Z

Skall det bli ett felmeddelande då?
Om montören vill ha fyrtio st av artikeln 401234567 eller artikelnnr 123456740 st
Vad skall hända.
Jag måste då kanske säga att viss inkontroll kan bli nödvändigt.
Eller är det bara en Informationssak?

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

## #3 — devotion, 2005-11-08T08:25Z

Hej!

Enhet "st" fylls i ett annat fält, så det borde funka.

så, det ska bli ett felmeddelande!

Mvh
Henrik

Intressant synpunkt...   :)

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

## #4 — Peter S, 2005-11-08T11:46Z

Halloj!

Följande tror jag skall fungera:

```
' Reguljärt uttryck för att matcha sju siffror efter varandra
dim re
set re = new regexp
re.pattern = "\d{8,}" ' Matcha 8, eller fler, på varandra följande siffror

' Med execute() får vi ut en array av träffar
' Eftersom global-flaggan ej är satt, kan vi endast få en träff och den ligger i m(0)
dim m
set m = re.execute(strArticleName)

if m.count then
	' error! 8 eller fler siffror efter varandra
else
   re.pattern = "\d{7}"
   set m = nothing

   set m = re.execute(strArticleName)

   if m.count then
      strEnumber = m(0)
   end if
end if

set re = nothing
```

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

## #5 — devotion, 2005-11-08T14:43Z

Hej :)

Perfekt!

Mvh
Henrik

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

## #6 — devotion, 2005-11-08T17:30Z

Hej igen!!
tredje gången gillt..

Såg att det fanns några 8-siffriga artrikelnummer också hos en leverantör...(ej E-nummer)

Hur gör man koden för att få ut BÅDE 7- och 8-siffriga nummer men inga andra. Är det ett felaktigt nummer tas ju det hand om senare eftersom det inte blir en träff i databasen...

Mvh
Henrik

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

## #7 — Melea, 2005-11-08T17:34Z

Tror du skriver följande. Dock inte säker. :)

```
re.pattern = "\d{7,8}"
```

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

## #8 — Peter S, 2005-11-08T17:41Z

Samt litet längre upp

```
re.pattern = "\d{9,}"
```

  :)

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

## #9 — devotion, 2005-11-08T17:57Z

Ahh, ok!

Tackar!

Henrik

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/137163-regexp-söka-ut-artikelnummer-ur-sträng
