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.


С помощью регулярных выражений такое вообще можно найти?
Как при поиске игнорировать какие-либо символы?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 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)


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

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

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