У меня есть текст, который я ищу с помощью JavaScript. Я позволяю пользователю указать произвольную строку, затем я хочу найти эту строку с условием, что она рассматривается как «целые слова», то есть находится между границами слов.
Я просто хочу сказать, например,
var userString = "something blah";
// => "blah another thing blah"
"blah something blah blah".replace(new RegExp("\\b" + userString + "\\b"), "another thing");
// no match, good
"blahsomething blah blah".replace(new RegExp("\\b" + userString + "\\b"), "another thing");
userString = "something\\blah";
// want to match, but doesn't
"blah something\\blah blah".replace(new RegExp("\\b" + userString + "\\b"), "another thing");
Как вы можете видеть, он разбивается на специальные символы - мне нужен способ указать RegExp избегать пользовательского ввода или выделить часть выражения в качестве литерала. Возможно ли это в JavaScript?