在使用正则表达式时,我发现了$&
。如果我使用$1
,我会得到与$&
相同的结果。那么$&
有什么特别之处,并且在哪里有记录?
当我在duckduckgo或谷歌上搜索"regular expression +$&"时,找不到相关的匹配项。
在下面的示例中,可以使用$1
或$&
。$&
有什么特殊之处,为什么它存在?
参见此处具有示例
<div id="quotes">
<ul>
<li>Поехали!
<ul>
<li><b>Let's go!</b></li>
<li>Variant translations: <b>Let's ride!</b></li>
<li><b>Let's drive!</b></li>
<li><b>Off we go!</b></li>
</ul>
</li>
</ul>
<ul>
<li><i>Облетев Землю в корабле-спутнике, я увидел, как прекрасна наша планета. Люди, будем хранить и преумножать эту красоту, а не разрушать её!</i>
<ul>
<li><b>Orbiting Earth in the spaceship, I saw how beautiful our planet is. People, let us preserve and increase this beauty, not destroy it!</b></li>
</ul>
</li>
</ul>
</div>
<script>
var quotes = document.getElementById("quotes"),
html = quotes.innerHTML,
match = /(let)/gi;
// $1 gives same result
quotes.innerHTML = html.replace(match, "<mark>$&</mark>");
</script>
$1
= 第一组匹配到的内容。$&
= 整个正则表达式所匹配到的内容。 - ndnenkovreplace
的页面上。 - Sebastian Simon