Java Script підручник | Патерни і прапори регулярних виразів

  1. Патерни і прапори регулярних виразів Доброго дня! Цією статтею я починаю цикл уроків за регулярними...
  2. Використання регулярного виразу
  3. Прапори.
  4. підсумки

Патерни і прапори регулярних виразів

Доброго дня Доброго дня! Цією статтею я починаю цикл уроків за регулярними виразами. Регулярні вирази - представляють собою потужний засіб для пошуку і заміни в рядку.

У мові програмування JavaScript регулярні вирази представлені об'єктом RegExp і вбудовані в методи рядків. За допомогою регулярних вирази можна знаходити і замінювати різні фрагменти тексту.

За допомогою регулярних вирази можна знаходити і замінювати різні фрагменти тексту

Що таке регулярний вираз

Регулярний вираз, як правило складається з шаблону і необов'язкових прапорів.

Давайте рассмртім як створюються регулярні вирази:

var reg = new RegExp (/ \ d /, "gim");

Але є й інша форма запису (це шаблон всередині слешів «/»):

var reg = / [az] /; // без прапорів var reg = / [az] / gmi; // з прапорами gmi (про них їх далі)

Слеші «/» говорять движку JavaScript про те, що це регулярний вираз. Це як лапки при створення рядків .

Використання регулярного виразу

Основа основ регулярного виразу - це патерн або шаблон. Це власне рядок, яку можна розширити символами, для того щоб пошук був набагато могутніше.

Давайте розглянемо найпростіший випадок, без прапорів і спеціальних символів:

var str1 = "Я люблю Регулярні вирази!"; // будемо шукати в цьому рядку var reg = / лю /; alert (str.search (reg)); // 2

Для порівняння ось звичайний пошук:

var str1 = "Я люблю регулярні вирази!"; var substr1 = "лю"; alert (str.indexOf (substr1)); // 2

Як бачите, в принципі все те ж саме, хіба тільки що для регулярки був використаний метод search - а ось він якраз працює з регулярними виразами, а для пошуку підрядка - indexOf .

Але це так тільки здається. Трохи пізніше ми усложним приклади з регулярними виразами, і тоді відразу побачимо, що регулярки набагато могутніше.

Прапори.

У регулярних виразах можуть зустрічатися наступні прапори, що впливають на пошук.

В JavaScript їх всього три:

i

Якщо цей прапор встановлений, то регулярний вираз здійснює регістронезавісімий пошук, тобто немає відмінностей між великими і маленькими літерами А і а. g Якщо цей прапор встановлений, то регулярний вираз буде шукати всі збіги, якщо немає - тільки перше. m Якщо цей прапор встановлений, то пошук здійснюється в багаторядковому тексті.

Самий звичайно простий з цих прапорів - це i.

Ось приклад його використання:

var str1 = "Я люблю регулярні вирази!"; // шукаємо в цьому рядку alert (str.search (/ ЛЮ /)); // -1 alert (str.search (/ ЛЮ / i)); // 2

  1. З шаблном / ЛЮ / виклик нам повернув -1, що буде означати що «, не знайдено» (як і власне в indexOf),
  2. З шаблоном / ЛЮ / i виклик знайшов збіг на позиції 2, тому що встановлений прапор i, а це значить «лю» теж підходить.

Інші прапори будуть розглянуті в наступних уроках.

підсумки

  • Регулярні вирази складаються з паттерна і прапорів g, i і m.
  • Пошук по регулярному виразу без прапорів і спец. символів, які ми вивчимо далі - це те ж саме, що і звичайний пошук підрядка в рядку. Але прапори і спец. символи, як ми побачимо далі, можуть зробити його набагато могутніше.
  • Метод рядки str.search (regexp) повертає індекс, на якому знайдено збіг.

Дивіться видеоурок за регулярними виразами.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту і натисніть Ctrl + Enter.

також читайте