javascript - 谁能解释这段 Javascript 代码?

标签 javascript regex

阅读此 discussion ,我没看懂这是什么意思:

 $1X$2

只是X

关于其他代码:

 str = str.replace(/(<script.*?>)(.*)(?=<\/script>)/gi, function(x,y,z)
 {return y+z.replace(/a/gi,'Z')})

这是我不明白的地方:

  • ?=
  • function(x,y,z) 是如何工作的?即从哪里获取 xyz

如果有人能清楚地解释这段代码,我将不胜感激。

最佳答案

$1 和 $2 引用捕获的子表达式(由括号 () 分隔)来自 .replace() 的前一个参数中的正则表达式.

?= 是一个积极的前瞻。 http://www.regular-expressions.info/lookaround.html

function(x, y, z) 是一个匿名函数表达式,其作用类似于引用 $1 和 $2,但它将它们存储在变量中。

关于javascript - 谁能解释这段 Javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051907/

相关文章:

javascript - History back() 方法返回两次

python - 转义正则表达式字符串

python - Django 签名 token 的正则表达式

java - 从字符串中提取数据的快速方法

javascript - 如何从 moment.tz 对象中获取唯一的时区名称?

javascript - JavaScript 书签是否必须是有效的 URL?

javascript - 如何使用jquery动态添加一行到ejs中的表中?

java - 正则表达式用于匹配没有特定模式的数字

javascript - 正则表达式用下划线替换两个指定字符串之间的空格

javascript - 如何通过单击按钮切换音频播放()暂停()?