y0u
@y0u
dev

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

Нужно найти заданную последовательность символов, которая может состоять только из букв и цифр, в строке, в которой могут быть любые символы между буквами и цифрами, которые мы ищем.

Проще объяснить на примере:

Оригинальная строка, в которой мы будем искать:
10 Great and Easy English Books!!! You Must Read. A regular expre  ! = ssion, !! ?? - () is a sequ  ence of characters&&? that define a sea_rch pattern.

Последовательность символов, которую нужно найти:
  • 0greatandeasyengl
  • expressionisasequence
  • ersthatdefineasearchpattern

Результат:
  • 0 Great and Easy Engl
  • expre ! = ssion, !! ?? - () is a sequ ence
  • ers&&? that define a sea_rch pattern.


С помощью регулярных выражений такое вообще можно найти?
Как при поиске игнорировать какие-либо символы?
  • Вопрос задан
  • 319 просмотров
Решения вопроса 1
VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
let str = '10 Great and Easy English Books!!! You Must Read. A regular expre  ! = ssion, !! ?? - () is a sequ  ence of characters&&? that define a sea_rch pattern.';

let find = ['0greatandeasyengl', 'expressionisasequence', 'ersthatdefineasearchpattern'];

find.forEach(function(pattern)
{
  let pat = '';
  for (let i = 0; i < pattern.length; i++) {
    pat += pattern[i] + '[^a-z\\d]*';
  }
  let reg = new RegExp(pat, 'i');
  console.log(str.match(reg));
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@andreysuha
Что то знаю
Думаю нужно взять исходную строку из нее с помощью replace заменить все не нужные символы на "" и через indexOf искать символы

// В str исходная строкa
// В search строка которую нужно искать
let replaced = str.replace(rexp, "");
let num = replaced.indexOf(search)


Нужно только найти регулярку которая вырежит все не нужное
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Admitad Projects Москва
от 130 000 до 200 000 ₽
Fundraise Up Санкт-Петербург
от 2 500 до 3 500 $
27 мая 2020, в 23:51
3000 руб./за проект
27 мая 2020, в 23:26
500 руб./за проект