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

如何在JavaScript中连接正则表达式文字?

如何在JavaScript中连接正则表达式文字?

holdtom 2019-10-29 14:59:41
有可能做这样的事情吗?var pattern = /some regex segment/ + /* comment here */    /another segment/;还是我必须使用新的RegExp()语法并连接一个字符串?我更喜欢使用文字,因为代码既不言而喻又简洁。
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

这是如何在不使用正则表达式文字语法的情况下创建正则表达式的方法。这使您可以在它变成正则表达式对象之前进行任意字符串操作:


var segment_part = "some bit of the regexp";

var pattern = new RegExp("some regex segment" + /*comment here */

              segment_part + /* that was defined just now */

              "another segment");

如果您有两个正则表达式文字,则实际上可以使用此技术将它们连接起来:


var regex1 = /foo/g;

var regex2 = /bar/y;

var flags = (regex1.flags + regex2.flags).split("").sort().join("").replace(/(.)(?=.*\1)/g, "");

var regex3 = new RegExp(expression_one.source + expression_two.source, flags);

// regex3 is now /foobar/gy

这比仅将表达式一和两个作为文字字符串而不是文字正则表达式要复杂得多。


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

添加回答

举报

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