JavaScript Regex Compile () - PullRequest
       1

JavaScript Regex Compile ()

6 голосов
/ 12 февраля 2010

Есть ли более короткий способ написать это?

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

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

Ответы [ 2 ]

7 голосов
/ 12 февраля 2010

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

var txt=new RegExp(pattern,modifiers);

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

var txt=/pattern/modifiers; 

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

2 голосов
/ 12 февраля 2010

из MDC :

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...