Рубрики
Без рубрики

Регулярные выражения (также называемые Regex или Regexp) являются мощным способом анализа текста. С регулярным выражением вы можете сопоставить строки в точках, которые соответствуют определенным символам (например, JavaScript) или шаблонами (например, Numbersingsymbol – 3A &). Метод .replace используется на строках в JavaScript для замены частей

Регулярные выражения (также называемые Regex или Regexp) являются мощным способом анализа текста. С регулярным выражением вы можете сопоставить строки в точках, которые соответствуют определенным символам (например, JavaScript) или шаблонами (например, Numbersingsymbol – 3A &). Метод .replace используется на строках в JavaScript для замены частей

Автор оригинала: Dillion Megida.

Регулярные выражения (также называемые Regex или Regexp) являются мощным способом анализа текста. С регулярным выражением вы можете сопоставить строки в точках, которые соответствуют определенным символам (например, JavaScript) или шаблонами (например, Numbersingsymbol – 3A &).

.replace Метод используется на строках в JavaScript для замены частей строки символами. Это часто используется так:

const str = 'JavaScript';
const newStr = str.replace("ava", "-");
console.log(newStr);
// J-Script

Как вы можете видеть выше, способ замены принимает два аргумента: строка, которая должна быть заменена, и то, на что строка будет заменена.

Вот где Regex приходит в.

Использование .replace Выше ограничено: известны символы, которые нужно заменить – «ava». Что делать, если мы вместо этого обеспокоены рисунком? Может быть, номер, два буквы, а слово «Foo» или три символа, используемые вместе?

.replace Метод используется с Regex может достичь этого. Regex может быть эффективно используется для воссоздания шаблонов. Так сочетать это с .replace Значит, мы можем заменить шаблоны и не только точные символы.

Как использовать Regex с .replace в JavaScript

Использовать Regex, первый аргумент заменить будет заменен на синтаксис Regex, например /Regex/ Отказ Этот синтаксис служит шаблоном, где любые части строки, которые совпадают, будут заменены новой подстрокой.

Вот пример:

// matches a number, some characters and another number
const reg = /\d.*\d/
const str = "Java3foobar4Script"
const newStr = str.replace(reg, "-");
console.log(newStr);
// "Java-Script"

Строка 3fooobar4 соответствует Regex /\\.*\// Так что это заменяется.

Что если мы хотели выполнить замену в нескольких местах?

Regex уже предлагает это с G (глобальный) флаг и то же самое можно использовать с заменить Отказ Вот как:

const reg = /\d{3}/g
const str = "Java323Scr995ip4894545t";
const newStr = str.replace(reg, "");
console.log(newStr);
// JavaScrip5t
// 5 didn't pass the test :(

Regeex соответствует частям строки, имеющих ровно 3 последовательных числа. 323 соответствует этому, 995 соответствует этому, 489 соответствует этому, а 454 соответствует этому. Но последний 5 не соответствует шаблону.

Результат в том, что Javascrip5t Показывает, как шаблоны правильно сопоставляются и заменяет новую подстроку (пустой строкой).

Флаг корпуса – Я также можно использовать. Это означает, что вы можете заменить шаблоны нечувствительности к регистру. Вот как это используется:

const reg1 = /\dA/
const reg2 = /\dA/i
const str = "Jav5ascript"
const newStr1 = str.replace(reg1, "--");
const newStr2 = str.replace(reg2, "--");
console.log(newStr1) // Jav5ascript
console.log(newStr2) // Jav--script

..5a .. Не соответствует первому синтаксису, потому что Regeex по умолчанию чувствителен к регистру. Но с использованием Я Флаг, как видно во втором синтаксисе, строка как ожидается – заменена.

Как использовать разделение с регулярными выражениями

Сплит также использует Regex Отказ Это означает, что вы можете разделить строку не только на подсусах, которые соответствуют точным символам, но и шаблонам.

Вот быстрый взгляд:

const regex = /\d{2}a/;
const str = "Hello54 How 64aare you";
console.log(str.split(regex))
// ["Hello54 How ", "are you"]

Строка была Сплит на 64a Потому что эта подстрока соответствует указанному Regex.

Обратите внимание, что Глобальный флаг – G – в Сплит не имеет значения, в отличие от Я Флаг и другие флаги. Это потому, что Сплит Разбивает строку на нескольких точках матчей Regex.

Обертывание

Regex делает заменить Строки в JavaScript более эффективные, мощные и веселые.

Вы не только ограничены точными персонажами, а схемами и несколькими заменами. В этой статье мы видели, как они работают вместе, используя несколько примеров.

Ура для регулярного выражения?