webForumDet fria alternativet

Regexp vill inte

.NETur .NET

7 svar · 470 visningar · startad av Travoni

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

Mönstret ser ut så här:

Regex.Match(strHtml, "[B]<div class=""rubbe"">(.+)><\/div>[/B]").Groups(1).ToString

I en löpande text finns detta:

text text text [B]<div class="rubbe">Sommar 09/10</div>[/B] text text text

Jag vill ha ut: Sommar 09/10
Resultatet blir tomt.

Vad är fel?

Medlem sedan jan. 2005953 inlägg
#2

Du har nu skrivit: (.+)>
ta bort >

Medlem sedan okt. 20041 556 inlägg
#3

Ah, det var ju det.

Nytt problem:
Om jag även vill gruppera ut det som finns efter, alltså hela tabellen. Hur gör jag då?

<div class="rubbe">Vinter 09/10</div>

<table class="tblwrap"><tr class="trwrap"><td class="tdwrap">

	<table class="p">
		<tr>
                     <td>
                         '...Flera kolumner/rader
                     </td>
                </tr>
         </table>

      </td></tr>
</table>

Nu har jag ett pattern som ser ut så här:

<div class="rubbe">(.+)<\/div>\s{2}<table class="tblwrap">(.+)<\/table>

Det verkar ju i alla fall inte fungera.

Medlem sedan aug. 20039 340 inlägg
#4

Med stor sannolikhet består radbrytningarna av två tecken. \n och \r, vilket isf skulle ge totalt 4 blanka tecken. Jag skulle använt \s* i detta fall som matchar 0, 1 eller flera mellanrumstecken.

<div class="rubbe">(.+)<\/div>\s*<table class="tblwrap">(.+)<\/table>
Medlem sedan okt. 20041 556 inlägg
#5

Oki, det är säkert sant.
Har ändrat det, men får fortfarande "No Results" här: http://regexlib.com/RETester.aspx

Medlem sedan juni 20014 421 inlägg
#6

Om du vill slå på "dot matches newline" (vilket den inte gör default) behöver du kasta in det i din regex-konstruktion:

Regex.Match(strHtml, "<div class="rubbe">(.+)<\/div>\s*<table class="tblwrap">(.+)<\/table>", [B]RegexOptions.Singleline[/B]).Groups(1).ToString
Medlem sedan aug. 20039 340 inlägg
#7

Uttrycket är rätt utformat, men du måste aktivera "single-line". På testsidan är det ju enkelt, men du får själv lista ut hur man faktiskt gör i ASP.

Medlem sedan okt. 20041 556 inlägg
#8

Ahaaaa... Det löste biffen.
Tack alla inblandade!

132 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)