webForumDet fria alternativet

Regexpfråga

ASP

7 svar · 266 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

"0 messages" skall ge 0 matches
Men allt över skall ge 1 matches

([1-9] messages)
Hur får jag 10 och allt annat som innehåller 0 att ge 1 matches?

Medlem sedan aug. 20003 575 inlägg
#2

[1-9]{0,}

Medlem sedan nov. 20017 144 inlägg
#3

Nix, funkar inte

Medlem sedan dec. 1999707 inlägg
#4

Det här?

([1-9]\d*)\s*?messages

Medlem sedan dec. 20003 887 inlägg
#5

Exakt matchning

[1-9]\d*\x20messages
Medlem sedan nov. 20017 144 inlägg
#6

Funkar perfekt.
Går det att plocka ut siffran (före messages) också så att jag kan lägga den i en variabel?

str="You have 45 messages in your inbox"

Jag vill dels få ut om "xx messages" inte är "0 messages"
Det funkar.
Jag vill också få ut siffran som står innan messages(om den inte är noll vill säga).

Medlem sedan nov. 20017 144 inlägg
#7

Jag skulle kunna köra en "for each" och plocka ut med
item.Value
som jag i sin tur replacar bort "messages" ifrån men det är väl lite overkill eftersom att det endast förekommer en gång.
Hur gör man detta?

Medlem sedan nov. 20017 144 inlägg
#8

Funkade med.

str=myMatches(0)
str=replace(str," messages","")
255 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)