JavaScript компиляция Regex ()

Существует ли более короткий способ записать это?

var needed = /\$\[\w+\]/mi;
needed.compile(/\$\[\w+\]/mi);

Почему я должен пасовать назад шаблон в regex, когда я уже объявил это в первой строке?!

6
задан Michael La Voie 12 February 2010 в 01:21
поделиться

2 ответа

Существует два способа определения регулярных выражений в JavaScript - один через конструктор объекта, а другой через литерал. Объект можно изменить во время выполнения, но литерал компилируется при загрузке сценария и обеспечивает лучшую производительность.

var txt=new RegExp(pattern,modifiers);

или более просто:

var txt=/pattern/modifiers; 

Это то же самое, о чем говорит Коббай. Короче говоря, вам не нужно делать и то, и другое.

7
ответ дан 10 December 2019 в 02:47
поделиться

из MDC :

Литеральная нотация обеспечивает компиляцию регулярного выражения при вычислении выражения

, поэтому / \ $ \ [\ w + \] / mi уже является скомпилированным регулярным выражением.

2
ответ дан 10 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: