webForumDet fria alternativet

RegExp i Javascript

4 svar · 1 090 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#1

Är inte så bra på varken javascript eller regex, så nu har det tagit stopp för mig.

Jag har en sträng som innehåller en del html kod. I html koden finns det en tabell som jag vill plocka ut lite information om.

Det jag vill hämta ut är:
1. Kolumn 2, i detta fall "Svensson, Kalle"
2. Kolumn 4, "Logged out"
3. Kolumn 5, Här vill jag ha ut argumenten i javascript länken doLoginLogout(). Alltså "4", "56746","fn1"

<tr class="myGreyRow">
<td>6</td>
<td id="fn1">Svensson, Kalle</td>
<td>340584305858</td>
<td>Logged out</td>
<td>
<a class="listlink" href="javascript:doEditAgent("56746")">Edit</a>, 
							<a class="listlink" href="javascript:doRemoveAgent("56746", "fn1")">Delete</a>, 
							<a class="listlink" href="javascript:doLoginLogout("4", "56746","fn1")">Log in</a>
</td>
</tr>

Hur tusan gör man?
Jag lyckas inte få till det. :(

/red
Det är fem rader i tabellen, och jag vill hämta dessa värden från alla fem raderna.
Det som skiljer raderna åt är att första kolumnen har ett id
Första raden <td id="fn1">
Andra raden <td id="fn2"> o.s.v

voigtann1Medlem sedan juni 20019 519 inlägg
#2

känns inte som den snyggaste regex jag har gjort men:

/<td id="fn\d+">([^<]+)<\/td>\r\n<td>[^<]+<\/td>\r\n<td>([^<]+)<\/td>\r\n<td>[\s\S]+doLoginLogout\("(\d+)", "(\d+)","([^"]+)"/

Sen kan du köra en funktion i din replace för att få ut matchningarna per rad skulle jag gissa på.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Tack för hjälpen, men tyvärr får jag det inte fungera.
Beror kanske inte på din pattern, kan vara något fel jag gör.

match.length returnerar null

var myRegexp = new RegExp(/<td id="fn\d+">([^<]+)<\/td>\r\n<td>[^<]+<\/td>\r\n<td>([^<]+)<\/td>\r\n<td>[\s\S]+doLoginLogout\("(\d+)", "(\d+)","([^"]+)"/);
var match = myRegexp.exec(xmlDoc);
alert(match.length);
voigtann1Medlem sedan juni 20019 519 inlägg
#4

har du några mellanslag och tabbar mellan all kod?

PeddaMedlem sedan juni 20006 032 inlägg
#5

Menar du html koden som jag har i min xmlDoc variabel så innehåller den tabbar.
I mitt första inlägg ser du t.ex att det är tabbar i "Edit" länken.

259 ms totalt · 3 externa anrop · v20260731065814-full.30151723
134 ms — hämta forumlista (db)
121 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)