/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Regulært udtryk
Fra : Torben


Dato : 24-09-06 10:23

Kan jeg indsætte en variabel i et regulært udtryk:

var mitNavn = "kongen af kina";
var rex = /^mitNavn$/;

Hvis ja - hvordan?



 
 
Torben (24-09-2006)
Kommentar
Fra : Torben


Dato : 24-09-06 11:00

> Kan jeg indsætte en variabel i et regulært udtryk:
>
> var mitNavn = "kongen af kina";
> var rex = /^mitNavn$/;

Jeg fandt en løsning selv: eval("/^("+mitNavn+")$/");



Lasse Reichstein Nie~ (24-09-2006)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 24-09-06 11:05

"Torben" <peterH@mail.dk> writes:

> Kan jeg indsætte en variabel i et regulært udtryk:
>
> var mitNavn = "kongen af kina";
> var rex = /^mitNavn$/;

Du kan ikke indsætte det i en regexp-literal, men du kan lavet
et regulært udtryk ud fra en streng via RegExp-metoden.

> Hvis ja - hvordan?

var rex = RegExp("^" + mitNavn + "$");

Her skal man passe på at navnet ikke indeholder tegn der betyder noget
i et regulært udtryk (e.g., "Ludvig d. 14.", der som RegExp jo matcher
"Ludvig dø 147").

Hvis man vil være sikker, kan man enten tjekke for det eller lave
navnet om så tegnene er escapet:

var reEscape = /([^$\\.+*?{}()\[\]])/g; // måske er der flere
var rex = RegExp("^" + mitNavn.replace(reEscape,"\\$1") + "$");

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408185
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste