Скопируйте функциональность Java «Pattern.quote» в JavaScript RegExp [duplicate]

На этот вопрос уже есть ответ здесь:

Есть ли функция RegExp.escape в Javascript? 12 ответов

В Java вы можете попытаться создать регулярное выражение, соответствующее URLstackoverflow.com с помощьюPattern.compile("stackoverflow.com"), Но это было бы неправильно, потому что. имеет особое значение в регулярных выражениях. Самый простой способ исправить это написатьPattern.compile(Pattern.quote("stackoverflow.com")) который выходит:Pattern.compile("\\Qstackoverflow.com\\E") который"цитирует" всю строку.

Я хочу сделать то же самое в JavaScript, но регулярные выражения JavaScript не придают никакого значения\Q а также\E и не похоже, что есть эквивалент в JavaScript, поэтому я не уверен, как это сделать. Моя первая мысль (см. Мой ответ ниже) состоит в том, чтобы просто поставить обратную косую черту перед любым символом, который имеет особое значение в регулярном выражении JavaScript, но это кажется потенциально подверженным ошибкам, и я подозреваю, что кто-то может знать о лучшем способе.

Это расширение для Firefox, поэтому решения для Mozilla вполне подойдут.

Ответы на вопрос(1)

Ваш ответ на вопрос