webForumDet fria alternativet

RegExp - non greedy match

ASP

4 svar · 223 visningar · startad av toha

Medlem sedan dec. 1999707 inlägg
Frågan#1

Nån som har haft problem med att göra s.k. non-greedy matchningar med RegExp-objektet i VBScript eller JScript?

Ex. Jag har texten:

<p>En liten text.</p><p>Text två.</p>

Och gör en match med följande pattern:

<p>.*</p>

Den hämtar hela strängen från första p-taggen till den SISTA p-slut-taggen. Det kallas för en greedy match. Om man vill göra en s.k. non-greedy match så ska man, allt enligt MSDN-library skriva:

<p>.*?</p>

Men då får man ett felmeddelande. "Unexpected quantifier.".

HILFE BITTE! :)

---Klippt från MSDN library---------

If all you really wanted to match was the opening H1 tag, the following, non-greedy expression matches only <H1>.

/<.*?>/

------------------
/ Torbjörn Hansson, webbutvecklare,
Density

Medlem sedan dec. 19995 874 inlägg
#2

Kanske såhär?
\<p\>(.*?)\<\/p\>

sedan kan du hämta varje match med antingen $1, $2 (Jscript) eller obj.submatches(0), (1) osv... (VBScript)

Men det är bara en chansning :)

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

[Redigerat av Brimba den 26 sep 2001]

Medlem sedan dec. 1999707 inlägg
#3

Tyvärr det fungerar inte. Men tack ändå.

------------------
/ Torbjörn Hansson, webbutvecklare,
Density

Medlem sedan dec. 19996 721 inlägg
#4

Antagligen har du en för gammal VBScript-motor. Uppgradera snarast.

Medlem sedan dec. 1999707 inlägg
#5

Jag hade version 5.1 och uppgraderade till 5.6 och det löste sig. **glad**
Tack Emission!

------------------
/ Torbjörn Hansson, webbutvecklare,
Density

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)