Изучите основные шаблоны регулярных выражений с помощью фрагментов кода и пояснений, которые помогут вам эффективно решать задачи обработки текста. Расширьте свои возможности кодирования и раскройте весь потенциал регулярных выражений!
Регулярные выражения (регулярные выражения) — это мощный инструмент для сопоставления с образцом и обработки строк в JavaScript. Они обеспечивают краткий и гибкий способ поиска, сопоставления и обработки текстовых данных. В этой статье мы рассмотрим 20 часто используемых шаблонов регулярных выражений в JavaScript. Каждый шаблон будет сопровождаться фрагментом кода и подробным объяснением того, как шаблон регулярного выражения идентифицирует определенные шаблоны в строке. Освоив эти шаблоны регулярных выражений, вы сможете справляться с широким спектром задач обработки текста в коде JavaScript.
Соответствие цифр:
Шаблон: /\d/
Объяснение:Этот шаблон соответствует любой отдельной цифре в строке.
const regex = /\d/; console.log(regex.test("Hello123World")); // Output: true console.log(regex.test("HelloWorld")); // Output: false
Сопоставление символов слова:
Шаблон: /\w/
Объяснение:Этот шаблон соответствует любому символу слова (буквенно-цифровому символу или символу подчеркивания) в строке.
const regex = /\w/; console.log(regex.test("Hello_World123")); // Output: true console.log(regex.test("@#%$")); // Output: false
Соответствие пробелам:
Шаблон:/\s/
Объяснение.Этот шаблон соответствует любому пробелу (пробелу, табуляции или новой строке) в строке.
const regex = /\s/; console.log(regex.test("Hello\tWorld")); // Output: true console.log(regex.test("HelloWorld")); // Output: false
Соответствие определенным символам:
Шаблон: /[aeiou]/
Объяснение:Этот шаблон соответствует любой гласной букве (a, e, i, o или u) в строке.
const regex = /[aeiou]/; console.log(regex.test("Hello")); // Output: true console.log(regex.test("World")); // Output: false
Сопоставление отрицательных символов:
Шаблон:/[^aeiou]/
Объяснение:Этот шаблон соответствует любому символу, который не является гласным в строке.
const regex = /[^aeiou]/; console.log(regex.test("Hello")); // Output: true console.log(regex.test("World")); // Output: true
Сопоставление повторений:
Шаблон: /a+/
Объяснение.Этот шаблон соответствует одному или нескольким вхождениям символа «а» в строку.
const regex = /a+/; console.log(regex.test("caaaat")); // Output: true console.log(regex.test("ct")); // Output: false
Соответствие необязательным символам:
Шаблон: /b?/
Объяснение.Этот шаблон соответствует нулю или одному вхождению символа «b» в строку.
const regex = /b?/; console.log(regex.test("bat")); // Output: true console.log(regex.test("cat")); // Output: true
Сопоставление определенных вхождений:
Шаблон:/c{2}/
Объяснение.Этот шаблон соответствует ровно двум вхождениям символа "c" в строку.
const regex = /c{2}/; console.log(regex.test("cct")); // Output: true console.log(regex.test("ct")); // Output: false
Соответствие диапазону символов:
Шаблон:/[A-Z]/
Объяснение:Этот шаблон соответствует любой прописной букве от A до Z в строке.
const regex = /[A-Z]/; console.log(regex.test("Hello")); // Output: true console.log(regex.test("hello")); // Output: false
Соответствие любому символу:
Шаблон: /./
Объяснение:Этот шаблон соответствует любому символу (кроме новой строки) в строке.
const regex = /./; console.log(regex.test("Hello")); // Output: true console.log(regex.test("\n")); // Output: false
Привязка к началу:
Шаблон: /^H/
Объяснение.Этот шаблон соответствует букве «H», только если она стоит в начале строки.
const regex = /^H/; console.log(regex.test("Hello")); // Output: true console.log(regex.test("World")); // Output: false
Привязка до конца:
Шаблон: /o$/
Объяснение. Этот шаблон соответствует букве «о», только если она стоит в конце строки.
const regex = /o$/; console.log(regex.test("Hello")); // Output: true console.log(regex.test("World")); // Output: false
Соответствие точному слову:
Шаблон:/\bhello\b/
Объяснение:Этот шаблон соответствует слову "привет" как целому слову в строке.
const regex = /\bhello\b/; console.log(regex.test("Say hello to everyone")); // Output: true console.log(regex.test("Say hellothere")); // Output: false
Сопоставление без учета регистра:
Шаблон:/hello/i
Объяснение.Этот шаблон соответствует слову "привет" без учета регистра в строке.
const regex = /hello/i; console.log(regex.test("Hello")); // Output: true console.log(regex.test("World")); // Output: false
Группировка и захват:
Шаблон:/(abc)+/
Объяснение:Этот шаблон сопоставляет одно или несколько вхождений последовательности "abc" в строке и фиксирует ее.
const regex = /(abc)+/; console.log(regex.test("abcabc")); // Output: true console.log(regex.test("abc")); // Output: true console.log(regex.test("acbacb")); // Output: false
Смотреть вперед:
Шаблон: /q(?=u)/
Объяснение:Этот шаблон соответствует букве "q", только если за ним следует буква "u" в строка.
const regex = /q(?=u)/; console.log(regex.test("quick")); // Output: true console.log(regex.test("quiet")); // Output: false
Отрицательный прогноз:
Шаблон:/q(?!u)/
Объяснение.Этот шаблон соответствует букве "q", только если за ним не следует буква "u". в строке.
const regex = /q(?!u)/; console.log(regex.test("quick")); // Output: false console.log(regex.test("quiet")); // Output: true
Сопоставление с учетом регистра:
Шаблон:/hello/gi
Объяснение.Этот шаблон соответствует слову "hello" глобально и без учета регистра в строке.
const regex = /hello/gi; const str = "Hello hello"; console.log(str.match(regex)); // Output: ["Hello", "hello"]
Извлечение адресов электронной почты:
Шаблон:/\w+@\w+.\w+/
Объяснение.Этот шаблон соответствует основному адресу электронной почты в строке.
const regex = /\w+@\w+\.\w+/; console.log(regex.test("Email: [email protected]")); // Output: true console.log(regex.test("Not an email")); // Output: false
Экранирование специальных символов:
Шаблон: /$/
Объяснение.Этот шаблон соответствует символу доллара ("$") в строке.
const regex = /\$/; console.log(regex.test("Price: $10")); // Output: true console.log(regex.test("Price: 10$")); // Output: false
Регулярные выражения — это универсальный инструмент в JavaScript, позволяющий разработчикам выполнять сложные задачи сопоставления шаблонов и обработки строк. Поняв и освоив эти часто используемые шаблоны регулярных выражений, вы сможете раскрыть весь потенциал регулярных выражений и повысить эффективность и результативность своего кода JavaScript при решении задач обработки текста. Поэкспериментируйте с этими шаблонами и адаптируйте их к своим конкретным потребностям. По мере практики вы научитесь использовать регулярные выражения для решения различных задач обработки текста в своих приложениях JavaScript.
Надеюсь, что приведенная выше статья дала лучшее понимание. Если у вас есть какие-либо вопросы относительно областей, которые я обсуждал в этой статье, области улучшения, не стесняйтесь комментировать ниже.
[Раскрытие информации: эта статья является совместным творением, в котором мои собственные идеи сочетаются с помощью ChatGPT для оптимальной артикуляции.]