添加字符的 Javascript RegExp 对象

Javascript RegExp object adding characters

本文关键字:RegExp 对象 Javascript 字符 添加      更新时间:2023-09-26

我有一个正则表达式字符串被传递给我的代码,当我尝试将其注入 RegExp 对象构造函数时,RegExp 对象似乎正在添加字符。

原始字符串正则表达式:

    /^'(?([0-9]{3})')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/

调用新的 RegExp(mystring) 后,结果如下:

正则表达式:

    /'/^'(?([0-9]{3})')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$'//

我无法对 js 文件中的字符串进行硬编码,所以我需要一种方法来使其工作。

您不需要添加正则表达式分隔符。并且您必须再次转义反斜杠,因为双引号内的单反斜杠将被视为转义序列。

var re = "^''(?([0-9]{3})'')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$";
var reg = RegExp(re);