Самый быстрый способ проверить строку, содержащую другую подстроку в JavaScript?

Используйте ${1} вместо $1. Это также синтаксис подстановки для группы захвата named (?).

Вот фрагмент, иллюстрирующий ( см. Также на ideone.com ):

Console.WriteLine(Regex.Replace("abc", "(.)", "$11"));        // $11$11$11
Console.WriteLine(Regex.Replace("abc", "(.)", "${1}1"));      // a1b1c1
Console.WriteLine(Regex.Replace("abc", "(?.)", "${x}1"));  // a1b1c1

Это поведение явно документировано:

Элементы языка регулярного выражения - Замены

Подстановка нумерованной группы

Элемент языка $number включает в себя последнюю подстроку, согласованную группой захвата number в заменяющей строке, где number является индексом группы захвата.

Если number не указывает действительную группу захвата, определенную в шаблоне регулярного выражения, $number интерпретируется как последовательность символов букв , которая используется для замены каждого соответствия.

Подстановка именованной группы

Элемент языка ${name} заменяет последнюю подстроку, соответствующую группе захвата name, где name - имя группы захвата, определенной элементом языка (?).

Если name не указывает fy действительная группа захвата, определенная в шаблоне регулярного выражения, ${name} интерпретируется как последовательность символов литерала , которая используется для замены каждого соответствия.

blockquote>

144
задан ROMANIA_engineer 23 July 2017 в 01:44
поделиться