标签: javascript regex
我知道使用RegExp构造函数和正则表达式文字之间的区别,但是只使用一个与另一个只是一个偏好的问题?
或者是否有一个应该使用RegExp构造函数而不是正则表达式文字的实例?如果是这样,有这样的例子吗?
答案 0 :(得分:3)
MDN says:
正则表达式文字在加载脚本时提供正则表达式的编译。当正则表达式保持不变时,请使用它以获得更好的性能。 使用构造函数提供正则表达式的运行时编译。当您知道正则表达式模式将会发生变化时,或者您不知道模式并从其他来源(例如用户输入)获取模式时,请使用构造函数。
正则表达式文字在加载脚本时提供正则表达式的编译。当正则表达式保持不变时,请使用它以获得更好的性能。
使用构造函数提供正则表达式的运行时编译。当您知道正则表达式模式将会发生变化时,或者您不知道模式并从其他来源(例如用户输入)获取模式时,请使用构造函数。
在实践中,我使用文字形式表示简单的正则表达式。对于更复杂的表达式,我将它们与字符串连接分段放在一起并使用构造函数。
BONUS :对于那些复杂的正则表达式,像debuggex这样的工具确实有帮助。