webForumDet fria alternativet

Regexp mellan <!-- -->

ASP

11 svar · 721 visningar · startad av pb81

Medlem sedan okt. 200688 inlägg
Frågan#1

Hejsan
Sitter här och försöker få till en enkel regexp, men det vill ju inte fungera

set re = new regexp
re.ignorecase = true
re.pattern = "<!-- End events overview-->(.*?)<!-- End events overview-->"
set m = re.execute(str)
set re = nothing

if m.count > 0 then
  response.write m(0).submatches(0)
end if

så ser min kod ut..
Behöver man göra något speciellt för att få ut info mellan dessa taggar?

Medlem sedan juni 20019 519 inlägg
#2

Vet inte om du har fler rader eller så (eftersom du inte visar vad str har för värde) men:

	str = "<!-- End events overview-->adasdaasd<!-- End events overview-->"
	set re = new regexp
	re.ignorecase = true
	[B]re.Global = True[/B]
	re.pattern = "<!-- End events overview-->(.*?)<!-- End events overview-->"
	set m = re.execute(str)
	set re = nothing

	if m.count > 0 then
		response.write m(0).submatches(0)
	end if

borde fungera för dig.

Medlem sedan okt. 200688 inlägg
#3

Mjo jag provade det oxå men det vill sig inte. får ingen träff på det där..
Tycker det är lite konstigt

Medlem sedan nov. 20014 054 inlägg
#4

Eller det skall fungera..

se igenom strängen som matas in om det är något fel i den som gör att du inte får en matchning.

Medlem sedan dec. 20025 483 inlägg
#5
re.pattern = "<!-- End events overview-->((?:.|\n|\r)*?)<!-- End events overview-->"
Medlem sedan juni 20019 519 inlägg
#6

Jag har provat både med och utan global... får inga problem att hitta mönstret (även om jag har fler rader kod mm). Vad har du för värde i str när du försöker hitta mönstret?

Medlem sedan okt. 200688 inlägg
#7
			  <!-- Events overview-->
			  <table border="0" cellspacing="5" width="100%">
				<tr>
				  <td> <table border="0" cellspacing="0" width="100%">

..............................

				  </td>
				</tr>
			  </table>
			  <!-- End events overview-->

Kan det ha med radbrytningen att göra?

Medlem sedan dec. 20025 483 inlägg
#8

Den inledande delen i mönstret överensstämmer ju inte med den inledande delen i strängen.

re.pattern = "<!-- Events overview-->((?:.|\n|\r)*?)<!-- End events overview-->"
Medlem sedan okt. 200688 inlägg
#9

vad menar du?

Medlem sedan dec. 20025 483 inlägg
#10

Jfr mitt senaste bidrag av re.pattern med ditt senaste och du skall finna :)

Medlem sedan juni 20019 519 inlägg
#11

Du har ju:

"<!-- End events overview-->(.*?)<!-- End events overview-->"

men i ditt exempel kör du:

<!-- Events overview-->

i början.

Medlem sedan okt. 200688 inlägg
#12

amen SUCK!!!!!
fan så trött jag bli, dags att gå hem nu....

re.pattern = "<!-- Events overview-->(.*?)<!-- End events overview-->"
Den var iaf lösningen

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