W3docs

JavaScript регулярные выражения (ИЛИ)

JavaScript regular expressions (RegEx) offer powerful capabilities for pattern matching within strings. One of the key components of RegEx is the OR operator,

Регулярные выражения (RegEx) в JavaScript обладают мощными возможностями для поиска шаблонов в строках. Одним из ключевых компонентов RegEx является оператор ИЛИ, обозначаемый вертикальной чертой (|). Этот оператор позволяет включать несколько шаблонов в одно регулярное выражение, обеспечивая гибкий и эффективный поиск и обработку строк. В этом подробном руководстве мы рассмотрим использование оператора ИЛИ в регулярных выражениях JavaScript на практических примерах.

Понимание оператора ИЛИ (|) в регулярных выражениях

Оператор ИЛИ в регулярных выражениях позволяет указать несколько вариантов для совпадения. Он особенно полезен, когда нужно найти один из нескольких возможных шаблонов.

Основное использование оператора ИЛИ

Синтаксис оператора ИЛИ прост. Он заключается в размещении символа | между шаблонами, которые нужно сопоставить.


javascript— editable

В этом примере шаблон /cat|dog/ находит как "cat", так и "dog" в указанных строках.

Группировка с помощью круглых скобок

Круглые скобки () используются для группировки частей регулярного выражения (подробнее о группах см. Группы захвата). Это полезно, когда нужно применить оператор ИЛИ к нескольким символам или шаблонам.


javascript— editable

Здесь шаблон /(cat|dog)s?/ находит "cat", "cats", "dog" и "dogs".

Практические примеры

Поиск файлов с разными расширениями

Предположим, вам нужно проверить имена файлов с разными расширениями, такими как .jpg, .png или .gif.


javascript— editable

В этом примере шаблон /\.(jpg|png|gif)$/ находит имена файлов, заканчивающиеся на ".jpg", ".png" или ".gif".

Проверка номеров телефонов

Рассмотрим сценарий, в котором необходимо проверить различные форматы номеров телефонов.


javascript— editable

Шаблон /(\+\d{1,2}\s?)?(\(\d{3}\)|\d{3})[-.\s]?\d{3}[-.\s]?\d{4}/ находит различные форматы номеров телефонов, включая номера с кодами стран, скобками, дефисами, точками и пробелами.

Поиск необязательных подшаблонов

Оператор ИЛИ также можно использовать для поиска необязательных подшаблонов внутри строки.


javascript— editable

Здесь шаблон /color|colour/ находит как американское, так и британское написание слова "color".

Комбинирование оператора ИЛИ с другими метасимволами

Возможности оператора ИЛИ расширяются при его комбинировании с другими метасимволами регулярных выражений, такими как * (ноль или более), + (один или более), ? (ноль или один) и {} (ровно n раз).

Пример с квантификаторами


javascript— editable

Шаблон /\b(cat|dog)s?\b/ находит "cat", "cats", "dog" и "dogs" как целые слова, используя метасимвол границы слова \b.

Расширенный пример с несколькими условиями


javascript— editable

В этом примере шаблон /(\d{1,2}-\d{1,2}-\d{4})|(\d{4}-\d{1,2}-\d{1,2})/ находит даты в форматах "MM-DD-YYYY" и "YYYY-MM-DD".

Заключение

Освоение оператора ИЛИ в регулярных выражениях JavaScript открывает широкие возможности для эффективного и гибкого поиска шаблонов. Понимание того, как использовать оператор ИЛИ в сочетании с другими функциями RegEx, позволяет создавать мощные и адаптивные шаблоны для решения сложных задач поиска и обработки строк.

Практика

Практика

Какое из следующих регулярных выражений правильно использует оператор ИЛИ (|) для поиска слов 'cat' или 'dog'?