js 获取 双层花括号里面的数值?

问题描述

获取 双层花括号 里面的值

问题出现的环境背景及自己尝试过哪些方法

用这个得到的是 testData.match(/{{(.+?)}}/g)

相关代码

select * from ssss where pt>{{ ccc() }}

希望得到 ccc()

但是得到的是。{{ ccc() }}


这个 ccc() 也可能是 a+b. 等各种类型

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 1.1k
3 个回答

chatGPT回答:

const str = "select * from ssss where pt>{{ ccc() }}";
const reg = /(?<=pt>\{\{).*(?=\s*\}\})/;
const result = str.match(reg);
console.log(result); // 输出 ["ccc()"]

image.png

  let testData = 'select * from ssss where pt>{{ ccc(asfd) }}'
let reg = /\S+\(\s*\S*\s*\)/
  console.log(testData.match(reg));
  let testData = 'select * from ssss where pt>{{ ccc(asfd) }}'
let reg = /(?<=\{\{\s*)(\S+.*\S+)(?=\s*\}\})/
  console.log(testData.match(reg));

image.png
image.png

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
推荐问题
宣传栏