Я наткнулся на $&
, когда я использую регулярные выражения. Если я использую $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