javascript - 使用正则表达式变量作为​​普通变量 - Javascript

标签 javascript regex

x.innerHTML.replace(/@(.*?)/g, '<img src="'+get_data($1)+'">$1</img>')

有什么方法可以将 $1 用于 get_data 函数吗?感谢您的建议。

更新

评论里说的很清楚,OP也想匹配@word形式的数据,专门拉出word字符串。

最佳答案

您可以调用 x.innerHTML.replace(rx,function) 并且将使用这些参数调用该函数:

  • 匹配的子串
  • $1,$2...
  • 匹配的偏移量
  • 完整匹配

所以你可以这样做:

x.innerHTML.replace(/@(\S+)/g,function(string,data1){

 return '<img src="'+get_data(data1)+'">'+data1+'</img>');

});

这是 MDN Docs on replace

关于javascript - 使用正则表达式变量作为​​普通变量 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15350761/

相关文章:

php - preg_replace 只替换两个符号之间的字符串,如果它包含特定的东西

Java Pattern 验证注释和 util Regex 模式的行为不同

javascript - 使用 qTip 工具提示通过 AJAX 加载数据。 $(this) 不是我期望的那样

javascript - 使用 Javascript 生成 SVG 路径的库?

c# - 字符串中出现一次的每个字母的正则表达式

javascript - jQuery 正则表达式不验证

javascript - Function.prototype.call 分配给变量时的意外行为

javascript - Express - 在外部 JavaScript 文件中使用通过渲染函数接收的对象

javascript - "undefined"不是 list 数组上设置监听器的函数

java - 有效的正则表达式?