Что я хочу достичь?Регулярное выражение, чтобы найти непревзойденные слова в строке
-> Заменить слова из строки, которая не соответствует регулярному выражению, и заменить ее другим текстом.
Я не так хорош с регулярными выражениями, так что было бы здорово, если вы мне поможете.
Например:
var str = "New York";
alert(str.replace(/some_magical_reg_ex/, "Jersey"));
Так что я хочу "Создать", и заменить слово "York" с чем-то еще. Результатом должно стать «Нью-Джерси»;
Что я пробовал?
https://regex101.com/r/fQ9fN8/3 В связи с этим я хочу выделить слово «ангелы», чтобы заменить его другим словом.
Обратите внимание на последнюю строку из примера. Вводимые данные - «los angeles», но ни один не подсвечивается/не сопоставляется.
Если вы считаете, что мне не хватает каких-либо материалов, пожалуйста, дайте мне знать, я уточню вопрос соответствующим образом.
EDIT: Позвольте мне подробнее объяснить.
У меня есть выпадающий список, который показывает местоположения. Поэтому, если пользователь вводит «Lo», он отображает следующие параметры. Луизиана, Лос-Анджелес и т. Д. (В зависимости от того, что начинается с «Ло»). Итак, в этом списке мне нужно применить теги <b></b>
для оставшейся части текстов. т.е. когда пользователь вводит 'Lo', показать
- 'Lo uisiana'
- 'Lo s Angeles'
Таким образом, в случае str.replace(/some_magical_reg_ex/, <b>unmatched_text</b>)
'Lo' (ввод пользователя) и unmatched_text = 'uisiana' or 's Angeles'
'/^(?! los). */Gim' соответствует любой строке, которая не начинается с' los' - чего вам нужно достичь? Пример в вашем вопросе можно решить только с помощью 'replace (/ \ bYork \ b /," Jersey ")' –
Регулярные выражения предназначены для сопоставления шаблонов, вы не очень хорошо определили шаблон, который вы пытаетесь сопоставить. Вы просто хотите совместить слово «New» или «Los»? Это один префикс, который вы ищете или список? – excaza
Что известно в вашем случае? «Новый» или «Йорк»? –