var array = ["afdas as much asfa", "afsdaf as much afsdaf as much "]; var regex = /as much/g var result = ""; for(var i = 0 ; i < array.length ; i ++) { result += array[i].replace(regex,function(word){return "<span style=\"color:#ff6600\">"+word+"</span>"}) result+="</br>"; } document.write(result);
<script type="text/javascript">var str="asdfasdfasd as much,fdassfdfsdaf as much123123"; var stmp="as much"; var re=new RegExp(stmp,"g"); str=str.replace(re,"<font color='red'>as much</font>"); alert(str); </script>这样?
主要是需要加个变量进去如 var array=["as much","some","about"];/^(array[i])${*}/
var regex = /as much/g 这个能把as much 替换成变量么? var array=["as much","some","about"];
大小写匹配的话这样就可以了 var regex = /as much/gi 加个i
替换变量?什么意思?array[0]这不就是一个变量吗?你数组的每一项是变量还是常量有什么区别?
动态创建正则:var re = new RegExp("pattern"[, "flags"]);var key=["love","fuck","rest"], str="do what you love and fuck the rest!"; for(var i=0,len=key.length;i<len;i++){ str=str.replace(new RegExp(key[i]),function(t){ return "<span style='color:#ff0000;'>"+t+"</span>";}); } document.write(str);
var keywords = ["as much", "some", "student"]; keywords.sort(function(i1, i2){ return i1.length < i2.length ? 1 : -1; });var reg = new RegExp("(^|\\b)(" + keywords.join("|") + ")(\\b|$)", "gi"); var txt = "比方说我要把一个词组 'i\'m a student, not a teacher', 'as much'、 'AS Much'、'Some'、'SOME' 匹配出来"; var out = txt.replace(reg, function($0, $1, $2, $3){ if( $2 ){ return "<b>" + $2 + "</b>"; }else{ return $0; } });alert( out );
额。。是这样的么?^表示开始,$表示结束,{*}表示0次或无限次重复..
小弟也是初学者,斗胆试试..
var regex = /as much/g
var result = "";
for(var i = 0 ; i < array.length ; i ++)
{
result += array[i].replace(regex,function(word){return "<span style=\"color:#ff6600\">"+word+"</span>"})
result+="</br>";
}
document.write(result);
<script type="text/javascript">var str="asdfasdfasd as much,fdassfdfsdaf as much123123";
var stmp="as much";
var re=new RegExp(stmp,"g");
str=str.replace(re,"<font color='red'>as much</font>");
alert(str);
</script>这样?
主要是需要加个变量进去如
var array=["as much","some","about"];/^(array[i])${*}/
var regex = /as much/g 这个能把as much 替换成变量么?
var array=["as much","some","about"];
var regex = /as much/gi
加个i
str="do what you love and fuck the rest!";
for(var i=0,len=key.length;i<len;i++){
str=str.replace(new RegExp(key[i]),function(t){ return "<span style='color:#ff0000;'>"+t+"</span>";});
}
document.write(str);
keywords.sort(function(i1, i2){
return i1.length < i2.length ? 1 : -1;
});var reg = new RegExp("(^|\\b)(" + keywords.join("|") + ")(\\b|$)", "gi");
var txt = "比方说我要把一个词组 'i\'m a student, not a teacher', 'as much'、 'AS Much'、'Some'、'SOME' 匹配出来";
var out = txt.replace(reg, function($0, $1, $2, $3){
if( $2 ){
return "<b>" + $2 + "</b>";
}else{
return $0;
}
});alert( out );