Найти предложение в базовой строке, учитывая только буквы и цифры - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь найти предложение, которое выглядит примерно так:

I'm a sentence with some text and number and so on 45

В базовой строке, которая может выглядеть так, как текст уценки:

Here is some content \n \n > Listing some items: - Hello, I'm *** bold ***. \n \n I'm a \n \n sentence with - some text and number and so on 45

Я сталкивался с этим вопросом, который использует Regex, но я не могу заставить его работать в моем примере. Я также немного изменился, но безуспешно:

const content = "Here is some content \n \n > Listing some items: - Hello, I'm *** bold ***. \n \n I'm a \n \n sentence with - some text and    number and so on 45"


const search = "I'm a sentence with some text and number and so on 45"

const regex = '[^a-zA-Z0-9]*?';
const searchTerm = search.split("").join(regex);

var matches = content.match(searchTerm);
console.log(matches);

Я пробовал разные переменные регулярного выражения, например: '[^ a-zA-Z0-9] ?', '[ ^ \ w \ d \ s] 'и' [. \ -] '

Заранее спасибо

1 Ответ

2 голосов
/ 21 февраля 2020

Одна вещь, которую вы можете сделать, это создать чистую версию строки, в которой вы ищете, удалив ненужные символы (я оставляю в одиночной кавычке, так как вы соответствуете «Я»). Затем вы можете выполнить простой поиск по очищенному содержимому.

CodePen: https://codepen.io/edlucas/pen/eYNdXLq

const content = "Here is some content \n \n > Listing some items: - Hello, I'm *** bold ***. \n \n I'm a \n \n sentence with - some text and    number and so on 45";

const search = "I'm a sentence with some text and number and so on 45";

// Remove the unwanted characters and then all multiple spaces
newContent = content.replace(/[^\w' ]/g, '').replace(/[\s]+/g,' ');

console.log(newContent);

const matches = newContent.includes(search);

console.log('Matches?', matches);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...