#javascript #regex
#javascript #регулярное выражение
Вопрос:
Кто-нибудь знает, как я могу это сделать? Мне нужно найти следующие слова для слова до конечной точки.
Пример текста:
Продукт: Мой замечательный продукт.
Мне нужно: Мой замечательный продукт
Мне удалось найти следующее слово, но не остальные до финальной точки с помощью этого кода:
const product= 'PRODUCT:';
let result = text.match(new RegExp(product '\s(\w )', 'i'));
if (result != null) {
result = result[1];
}
Спасибо.
Комментарии:
1. Можете ли вы показать нам пример. С помощью ввода и ожидаемого результата
2. Пример готов, друг
Ответ №1:
// Input = Product: My wonderful product.
// Output = My wonderful product
const text = 'Product: My wonderful product.';
const product = 'PRODUCT: ';
const matches = text.match(new RegExp(`(?:${product})(.*)`, 'i'));
let resu<
if (matches amp;amp; matches.length === 2) {
result = matches[1];
} else {
result = '';
}
console.log(result)
Смотрите
https://regex101.com/r/ZA4qHz/1 / для отладки.
Соответствующие документы: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
Комментарии:
1. Несомненно, работает только тот друг, у которого у меня есть ответ массива, и при передаче чего-то вроде: result = результат [1] мне ничего не показывает, а если я показываю только массив, он выдает что-то вроде: [«Продукт: nMy замечательный продукт». ] Знаете ли вы, как я мог получить only: Мой замечательный продукт??
2. Просто проверьте, существует ли совпадение (в противном случае оно было бы нулевым) и имеет длину 2, затем возьмите только второй элемент в массиве совпадений. В противном случае результат будет пустым. Это предполагает, что описание того, как выглядят эти данные, является полностью точным.
3. спасибо, друг, в конце я предоставил то, что вы указали: text.match (новое регулярное выражение (категория ‘\ s (\ w ). *’, ‘ig’)); и я только что добавил замену, чтобы исключить слово Product: