regexp > plocka ut

ASP

3 svar · 285 visningar · startad av roady

Medlem sedan jan. 2002473 inlägg
Trådstart#1

Har letat en massa men kan ej finna...
Jag försöker mig på RegExp för fullt och läser på vides samt webforum...

Man kan byta med Replace men kan jag inte plocka ut text.
exempel:

Dim objRegExp
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "\[head\](.*?)\[\/head\]"
inledning = objRegExp.Replace(brodtext,"$1")

Det jag vill göra är att plocka ut texten från brodtext mellan taggarna [head] och lägga i en egen sträng.

Medlem sedan dec. 200012 464 inlägg
Medlem sedan mars 20002 836 inlägg
#3

För att endast visa(eller spara i egen variabel, samma sak) texten mellan [head] och [/head] får du använda dig av collectionen matches som listar alla matchningar av pattern som finns:

Dim objRegExp , matches, match
Dim strString
strString = "Detta är en [head]title for page[/head] som vi ska plocka ut."

Set objRegExp = New regexp 
	objRegExp.Pattern = "(\[head\])(.*?)(\[\/head\])" 
	objRegExp.Global = true 
	objRegExp.IgnoreCase = true 

	Set matches = objRegExp.Execute(strString)
	
	For Each Match IN Matches
		'## -- printa ut alla matchningar --
		Response.Write objRegExp.Replace(Match.Value,"$2") & "<BR>"
	Next
	
	Set matches = Nothing
Set objRegExp = Nothing

hoppas att du kommer lite närmare lösningen nu

cya,
PatrikB

Medlem sedan jan. 2002473 inlägg
#4

tackar tackar för de snabba svaren...
det funkar fint fint

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