私は文字列:'4 0 13 0 0 30 32 0 14 9 27 0 27 20 4 0 22 0'
を持っています。 RegExで見つけたい値は、targetValue
という名前の変数に含まれています。 この場合、targetValue
は0
に等しくなり、すべての一致を大胆なテキストに置き換えます。RegExは最初の一致の直後に2番目の一致を無視するのはなぜですか?
function startReplacing(){
var targetValue = 0;
var replacer = ' <b> ' + targetValue + ' </b> ';
var re = new RegExp('\\s'+targetValue+'\\s','gi');
var str = document.getElementById('string').innerHTML;
str = str.replace(re, replacer);
document.getElementById('string').innerHTML = str;
}
b{ font-size:125% }
<p id="string"> 4 0 13 0 0 30 32 0 14 9 27 0 27 20 4 0 22 0 </p>
<button onclick="startReplacing()">REPLACE</button>
クリックした後、あなたが値"30"前"0"に気づかない "REPLACE":ここでは基本的なコードはありますか?私のRegEx は逃しましたこの値。これを修正するためにコードを変更するにはどうすればよいですか?
注:My RegEx Miss すべての値は最初の一致の直後に一致する必要があります。
それが二回空白を一致させることはできませんので。 @Bergiを参照してください。 – Bergi
すでに1つのオカレンスと一致しています。ブリリアント。簡単な修正はありますか? –