@Lamer228228

Как убрать все после слова регулярным выражением?

делаю парсер через WEB scraper
1) есть строка "02 апреля, 21:10", как добавив Regex получить "02 апреля", я делал через (.|\n)*, но запятая переносится в новую строку
2) есть строка "Алабинскаяот 31 мин.Российскаяот 31 мин.Московскаяот 31 мин.Самарская область, Самара, Буянова ул. , 42", как добавив Regex получить все, что после "Самара,"
я делал через а,(.|\n)*
  • Вопрос задан
  • 320 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vertenz
@Vertenz
Мечтетель
Для примера с датой, можно разбить на такой паттерн ^ - начало строки \d{2} - две цифры (день месяца) \s - пробельный символ \w+ - одно или более словесных символов (месяц). Но только в том случае если всегда повторяющийся.
const dateStr = '02 апреля, 21:10';
const dateRegex = /^(\d{2}\s\w+)/;
const match = dateStr.match(dateRegex);

if (match) {
  const date = match[1];
  console.log(date); // '02 апреля'
}


Для самары можно разбить на сам город, \s* - пробелы, (.*) - все после. Если Самара тоже динамический параметр и вам есть откуда его барть, то можно сохранять в переменную и добавлять в регулярку.
const str = 'Алабинскаяот 31 мин.Российскаяот 31 мин.Московскаяот 31 мин.Самарская область, Самара, Буянова ул. , 42';
const regex = /Самара,\s*(.*)/;
const match = str.match(regex);

if (match) {
  const result = match[1];
  console.log(result); // 'Буянова ул. , 42'
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы