我在使用正則表達式時偶然發現了$&
。如果我使用$1
,則得到與$&
相同的結果。 $&
,和有什麼特別之處?
當我在duckduckgo或google上搜索「正則表達式+ $ &」時,我找不到任何相關匹配項。
在下面的例子中,可以使用$1
或$&
。什麼是特別的$ &,它爲什麼存在?
查看一個fiddle與示例
<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' =第一組匹配的是什麼。 '$&'=整個正則表達式匹配的是什麼。 – ndn
我在哪裏可以讀到$&如何工作? (文檔) – emanciperingsivraren
@emanciperingsivraren在[MDN頁面上關於'replace'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter)。 – Xufox