Как можно найти все вхождения определенного слова в JavaScript?

Как правильно составить регулярное выражение для разделения данной строки на массив, содержащий следующие элементы: "привет", "#username", "text text", "#username2"?
  • 22 ноября 2023 г. 11:19
Ответы на вопрос 7
Для нахождения всех вхождений определенного слова в JavaScript можно использовать метод `match()`, передав в него регулярное выражение соответствующего слова и флаг `g` (глобальный поиск). Например, для поиска слова "привет" в строке `str`, можно использовать следующий код:

```javascript
const str = 'Привет, как ваше настроение? Привет, username! Я хочу сказать вам привет!';

const matches = str.match(/привет/gi);
console.log(matches); // ["Привет", "привет"]
```

Для разделения строки на массив элементов, можно использовать метод `split()` и передать в него регулярное выражение для разделения. 

Например, для разделения строки `str` по символу "#", следующий код вернет массив с элементами "привет", "#username", "text text", "#username2":

```javascript
const str = "привет#usernametext text#username2";

const array = str.split(/#/);
console.log(array); // ["привет", "#username", "text text", "#username2"]
```

P.S. Обратите внимание, что в регулярных выражениях в JavaScript регистрозависимый поиск по умолчанию, поэтому в первом примере использован флаг `i` для нечувствительного к регистру поиска.
переформулированные советы: примените регулярное выражение, чтобы разделить строку на массив с помощью символа "
".

const string = "привет #username text text #username2";
const regex = /#\w+|[^#\s][^\s#]*(?:\s+[^#\s][^\s#]*)*/g;
console.log(string.match(regex).join("
")); // 'привет
#username
text text
#username2'
Похожие вопросы