webForumDet fria alternativet

else i reguljärt uttryck

2 svar · 195 visningar · startad av Nexus86

Nexus86Medlem sedan okt. 20023 030 inlägg
#1

Går det på något sätt att kolla om ett reguljärt uttryck fanns? T.ex.

text = text.Replace(/(\n)?(halloj)(\n)?/ig, (("$1" != "")?"<br>":"")."$2".(("$3" != "")?"<br>":""));

OBS: Endast ett exempel. Detta skulle gå att göra mycket lättare annars. :)

dectgapMedlem sedan sep. 20021 655 inlägg
#2

If och else går bra:

<script type="text/javascript">
var text = "ojojoj\nhalloj\n ojojoj ojojoj\ntjena ojojoj";

text.match(/(\n)?(halloj)(\n)?/ig);

text = text.replace(/(\n)?halloj(\n)?/ig, ((RegExp.$1=="\n") ? "<br>" : "") + RegExp.$2 + ((RegExp.$3=="\n") ? "<br>" : ""));

document.write(text);
</script>

...men jag går bet när du ska göra en global search av det. match() använder jag eftersom replace() inte sparar träffarna någonstans, så vitt jag vet. T ex syftar alltså inte RegExp.$1 på första matchningen vid replace(), utan första matchningen vid match(). Om replace() sparar träffarna borde det lösa problemet med global search.

Nexus86Medlem sedan okt. 20023 030 inlägg
#3

Ok.. Tack iaf! Men om det finns labels och goto i javascript så går det ju att fixa ändå. Det är bara att kolla efter en replace om man hittar en ny match, isåfall går man tillbaka till början om inte, går den vidare i koden. :)

Finns det kanske något sådant?

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