Для того чтобы найти все совпадения слов в JavaScript с использованием регулярных выражений (regex), вы можете воспользоваться методом match()
встроенного объекта String
или методом exec()
встроенного объекта RegExp
.
Метод match()
принимает в качестве аргумента регулярное выражение и возвращает массив всех совпадений. Например, если у вас есть строка "Hello, how are you?"
и вы хотите найти все слова, вы можете использовать следующий код:
let str = "Hello, how are you?"; let regex = /w+/g; let matches = str.match(regex); console.log(matches); // ["Hello", "how", "are", "you"]
В данном случае регулярное выражение /\w+/g
ищет все непрерывные последовательности символов (\w+
), которые являются словами, и флаг g
указывает на поиск всех совпадений.
Метод exec()
работает немного иначе: он находит первое совпадение и возвращает массив с информацией о совпадении. Также, при наличии флага g
, он сохраняет внутреннее состояние, чтобы искать следующие совпадения. Если совпадений больше нет, он возвращает null
. Чтобы найти все совпадения слов, можно использовать следующий код:
let str = "Hello, how are you?"; let regex = /w+/g; let matches = []; let match; while ((match = regex.exec(str)) !== null) { matches.push(match[0]); } console.log(matches); // ["Hello", "how", "are", "you"]
В этом примере мы используем цикл while
, чтобы вызывать метод exec()
до тех пор, пока он находит совпадения. Каждый раз, когда он находит совпадение, мы добавляем это совпадение в массив matches
. Когда больше нет совпадений, цикл завершается и мы получаем массив всех найденных слов.
Оба этих метода полезны для поиска всех совпадений слов, и вы можете выбрать подход, который наиболее подходит для вашего случая использования.