有没有更短的写法?
var needed = /\$\[\w+\]/mi;
needed.compile(/\$\[\w+\]/mi);
我已经在第一行声明了模式,为什么还要将模式传回正则表达式?!
最佳答案
在 JavaScript 中有两种定义正则表达式的方法——一种是通过对象构造函数,另一种是通过文字。该对象可以在运行时更改,但文字会在脚本加载时编译,并提供更好的性能。
var txt=new RegExp(pattern,modifiers);
或者更简单地说:
var txt=/pattern/modifiers;
这与 cobbai 所说的相同。简而言之,您不必两者都做。
关于JavaScript 正则表达式编译(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249008/