如何在javascript中转义正则表达式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

我有这样的代码:

pattern = 'arrayname[1]'; // fetch from dom, make literal here just for example
reg = new RegExp(RegExp.quote(pattern), 'g');
mystring.replace(reg, 'arrayname[2]');

但是,它失败了,错误消息是:“RegExp.QUERE不是一个函数”。

我该怎么改?

提问于
用户回答回答于

这个问题让我在Google上搜索JavaScript中的一个函数RegEx.quote,该功能是这样定义的:

RegExp.quote = function(str) {
    return (str+'').replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
};

如果你想使用这个函数,你需要在脚本上面的某个地方加上上面的定义。

热门问答

COS范围下载?

许金泉

腾讯 · 高级工程师 (已认证)

腾讯云COS前端开发
推荐
可以用标准 Http 头部 Range 来指定下载范围。 COS 的 SDK 应该都支持自定义 Header,可以设置: Range: 'bytes=2000-7999' 和 Range: 'bytes=9000-9599'... 展开详请

cmq的Queue Endpoint 订阅-消费问题?

请您查看一下您的根账号下是否有持久密钥? 如果无法解决您的问题,请您在控制台的右上角发起工单提问(https://console.cloud.tencent.com/workorder),我们会有专人进行问题排查和解决,感谢您使用CMQ消息队列服务

我开通了直播,现在可以使用二维码扫码播放,但是我想在播放的界面,加一个发红包的功能,该怎么做?

腾讯云-chaoli腾讯云产品二部,技术支持
推荐
使用云通信功能,可以实现发红包。http://faq.qcloudtrtc.com/docs/%E4%BA%91%E9%80%9A%E8%AE%AF%E6%A8%A1%E5%9D%97/%E6%B6%88%E6%81%AF%E9%97%AE%E9%A2%98.html?h=%E7...... 展开详请

rtmp 推流,但是环境噪音被放大了,请问这个怎么设置,是否有消除噪音的方法?

腾讯云-chaoli腾讯云产品二部,技术支持
推荐
你好TXLivePushConfig有降噪接口:setANS。 SDK 对于 32000Hz 的音频数据是支持降噪的,现在 SDK 都是 48000Hz 采样率的了,不支持使用降噪接口了。 噪音太大通常原因是采集端和播放端距离过近造成的声音循环采集,可以将两台设备离远一些(3m ...... 展开详请

域名备案小程序登陆不上?

推荐已采纳
首先,用小程序不用幕布照片了 其次上述登录失败问题,可以参考以下操作: 1. 删除小程序; 2. 删掉微信进程; 3. 重新打开微信或建议客户使用其他机型试下,苹果7有这个问题,如果还是操作不了,可以让客户工单提供下机型、手机版本。... 展开详请

腾讯云直播 ,后台能否设置付费才能观看视频,和主持人设置禁言?

腾讯云-chaoli腾讯云产品二部,技术支持
推荐

可以做到:有直播地址就能播放,业务后台不给终端下发直播地址,就能限制观看直播。禁言功能,是指连麦时的禁言功能吗?有setMute静音接口

所属标签

扫码关注云+社区