2012-12-19 12 views
7

sto cercando di convertire seguente espressione alla "nuova Regexp()" stile:nuova Regexp non funziona

http://jsfiddle.net/HDWBZ/

var Wyrazenie = /\btest[a-z]*/g; 

sono davvero confuso con esso e non hanno alcuna idea di come per risolverlo. Qui di seguito è quello che ho fatto, ma ovviamente non funziona.

var Wyraznie = new RegExp("\btest[a-z]*","g"); 

hanno anche una questione di come apparirebbe se invece di "test" Vorrei usare variabile?

+0

chiedono Si prega di una sola domanda alla volta. Crea una domanda SO separata per ciascuna domanda separata (sembra logico, giusto?). –

risposta

9

È necessario utilizzare questo invece ...

new RegExp("\\btest[a-z]*", "g"); 

... come \b viene interpolata in un singolo carattere (slashless) quando parser JavaScript opera attraverso la stringa corrispondente letterale. La soluzione è di sfuggire alla barra stessa.

DEMO:http://jsfiddle.net/HDWBZ/1/

+0

@ raina77ow Grazie per la modifica. Mi hai impedito :) – VisioN

+0

grazie, funziona perfettamente! Per quanto riguarda la seconda parte: nuovo RegExp ("\\ b" + test + "[a-z] *", "g") ;, dove test è variabile –

+0

@ mik.ro Esattamente. – VisioN