众所周知,$1
等是使用正则表达式时对 string.replace() 中捕获的组的反向引用,因此您可以执行以下操作:
string.replace(/(http:\/\/\S*)/g, '<a href="$1" target="_blank">link<\/a>')
现在我的问题是是否有办法在替换之外访问 $1
等中捕获的数据。就像 backrefarray[1]
代表 $1
或其他东西......
这样的事情可能吗?如何实现?
最佳答案
您可以使用函数代替固定字符串进行替换:
string.replace(/(http:\/\/\S*)/g, function() {
return '<a href="'+arguments[1]+'" target="_blank">link<\/a>';
})
整个模式和每组的匹配作为参数传递给函数。
关于javascript - 在 javascript 正则表达式中访问 string.replace() 之外的 $1 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13788779/