为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript regexp文字和构造函数之间的差异

Javascript regexp文字和构造函数之间的差异

在一位开发人员将RegExp文字改为构造函数调用后,我们最近遇到了一个错误,我想知道为什么会有任何差别。确切的代码是var parts = new RegExp("/rt:([^@]+)@(\d+)/").exec(tag);与原来的var parts = /rt:([^@]+)@(\d+)/.exec(tag);时tag是,例如rt:60C1C036-42FA-4073-B10B-1969BD2358FB@00000000077,第一(童车)调用返回null,而第二个返回["rt:60C1C036-42FA-4073-B10B-1969BD2358FB@00000000077", "60C1C036-42FA-4073-B10B-1969BD2358FB", "00000000077"]毋庸置疑,我恢复了这一变化,但我想知道为什么首先会出现这样的差异。
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

对于小正则表达式,文字肯定是要走的路。如果你有一个动态表达式或一个很长的正则表达式来维护,RegExp是一个不错的选择。转义并不算太糟糕:只需“加倍[字面]反斜杠并转义引号”Javascript - The Good Parts,p。71.这里的代码只能得到引号:function escape(text) { return text.replace(/['"]/g, "\\$&"); };

查看完整回答
反对 回复 2019-09-06
  • 3 回答
  • 0 关注
  • 538 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信