阅读此 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)
是如何工作的?即从哪里获取x
、y
和z
?
如果有人能清楚地解释这段代码,我将不胜感激。
最佳答案
$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/