置換文字列に$ '文字が含まれている場合、メソッドの結果を奇妙な文字列に置き換えます。
例:https://jsfiddle.net/1jns2eo9/
var p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
var regex = /dog/gi;
document.getElementById('first').innerHTML = p.replace(regex, '$');
/// The quick brown fox jumps over the lazy $. If the $ reacted, was it really lazy?
document.getElementById('second').innerHTML = p.replace(regex, "$'");
/// The quick brown fox jumps over the lazy . If the dog reacted, was it really lazy?. If the reacted, was it really lazy? reacted, was it really lazy?
これは、を使用するreplace
場合、2番目のパラメーターが特別な構文を使用して置換を動的にすることができるためです。$'
パターン
一致した部分文字列に続く文字列の部分を挿入します。
だから、例えば
var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "$'"))
あなたはなるだろうacdcd
ので、BがAB:それを次の文字列に置き換えられているCD。
これは、$'
パターンを別の文字列置換の一部として使用すると、より明確になります。
var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "(-replacement: $' :replacement-)"))
それを避けてリテラルを挿入したい場合は、単純なリテラル文字を挿入するために使用するパターンである単一の代わりに$'
使用できるため、他の動的置換の使用を回避できます。$$
$
$
var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "$$'"))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加