Javascript 我可以显示普通字符而不是正则表达式吗
这是我的代码:Javascript 我可以显示普通字符而不是正则表达式吗,javascript,regex,Javascript,Regex,这是我的代码: $scope.currentTextClass = $scope.currentText1.replace( test5 = /<img .* \/>/g, "<div class=\"container\">" + test5.source + "</div>" ); scope.currentTextClass=$scope.currentText1.replace( test5=/g, “”+test5.source+“
$scope.currentTextClass = $scope.currentText1.replace(
test5 = /<img .* \/>/g,
"<div class=\"container\">" + test5.source + "</div>"
);
scope.currentTextClass=$scope.currentText1.replace(
test5=/g,
“”+test5.source+“”
);
但是test5.source
的字符串是“
”。我想要的是完整的img
标记,而不是原始正则表达式
是否可以返回原始的img
标记?问题在于正则表达式的源代码是
。所有source
返回的是不带/
s或标志(g
,在本例中)的正则表达式
source属性返回一个包含regexp对象的源文本的字符串,它不包含两边的两个正斜杠和任何标志
-
如果要访问完全匹配,可以提供一个函数作为replace
调用的第二个参数。它本身有3个参数:匹配、匹配位置和全文
第一个参数是您在这里想要的:
$scope.currentTextClass = $scope.currentText1.replace(
/<img .* \/>/g,
function(match) {
return "<div class=\"container\">" + match + "</div>";
}
);
scope.currentTextClass=$scope.currentText1.replace(
//g,,
功能(匹配){
返回“+匹配+”;
}
);
您的问题不太有意义,请尝试重新编写并解释问题所在problem@Elena我刚刚回答了这个问题,因为它很有道理。如果有帮助的话,我已经编辑了这个问题,添加了一些额外的格式。非常感谢!你不知道我为这个问题挣扎了多久,我甚至在问这个问题时遇到了问题,这是我第三次发布问题,因为人们都很讨厌。你赢得了很多选票@金老板不用担心。我认为否决这一点的人可能对RegExp对象的原型属性做得不多,并且对您使用test5.source
感到困惑。