自学的菜鸟 2022-09-01 05:35 采纳率: 62.5%
浏览 100
已结题

模板字符串中使用正则表达式报错


const regExp = /=([a-zA-Z0-9\$]+?)\(decodeURIComponent/
const fnnameresult = regExp.exec(data)
const fnname = fnnameresult[1]

这段代码可以正常执行,当放入模板字符串中时,

const script = script = document.createElement('script')

    script.innerHTML = `
                   const regExp = /=([a-zA-Z0-9\$]+?)\(decodeURIComponent/
                    const fnnameresult = regExp.exec(data)
                   const fnname = fnnameresult[1]
            `
document.body.appendChild(script)

会报错
Uncaught SyntaxError: Invalid regular expression: /=([a-zA-Z0-9$]+?)(decodeURIComponent/: Unterminated group

  • 写回答

7条回答 默认 最新

  • Z_pigeon 2022-09-01 07:58
    关注

    模板字符串中不能写复杂js逻辑,比普通字符串厉害的是它能在字符串中写变量。模板字符串跟普通字符串一样,只不过是说在里面可以使用${变量}。使用起来一般是

    var a = "123"
    console.log(`这是${a}`)    // 输出这是123
     
    var a = 123
    var b = 456
    console.log(`这是${a>b ? a:b}`)  // 输出这是456
    

    三元表达式,一元运算这些也是可以在${}里面写,因为这些最终返回的也是变量,但不能在里面定义变量,写复杂逻辑js

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月1日
  • 创建了问题 9月1日

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?