Регулярні вирази в JavaScript - Посібник з регулярних виразів

Зміст:

Anonim

Вступ до регулярних виразів у JavaScript

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

Синтаксис

var regEx = /^(A-Za-z)/;

Тут змінний об'єкт під назвою "regEx" містить шаблон регулярного вираження. Тепер перевіримо, чи відповідає інший рядок цьому регулярному виразу.

Код

var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);

Вихід:

правда

Тут у наведеному вище прикладі регулярний вираз перевіряє, чи містить рядок лише алфавіти від A до Z у верхньому та нижньому регістрі. Якщо це так, він повертає "true", якщо не "false".

Синтаксис регулярних виразів у JavaScript

Регулярний вираз складається з двох частин. Перша частина - це візерунок, за яким додається необов’язковий прапор.

Синтаксис

var regEx = /pattern/flag

Прапори також називають модифікаторами. Мало поширені додаткові прапори

  • г - глобальна

Знаходить кілька збігів. Якщо не використовується зупинки після першого матчу.

Код

var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );

Вихід:

кричати, кричати, кричати // Повертає всі сірники в рядку.

  • i - ігнор-випадок

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

Код

var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );

Вихід:

6 // повертає індекс, в якому знаходиться рядок.

оповіщення (str.search (/ educba /)); // без глобального прапора

Вихід:

-1

  • m - багаторядковий

Впливає на поведінку символів "^" та "$". Що стосується багаторядкових, він шукає відповідність на початку та в кінці кожного рядка, а не в цілому рядку. Якщо він не знаходиться в багаторядковому режимі, то повертаються лише збіги з усього рядка.

Код

var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );

Вихід:

Я, ти, ми // друкуємо перше слово кожного рядка.

Тепер давайте подивимось на закономірності у регулярному виразі. Шаблон складається з діапазонів, метахарактерів, кількісних показників тощо.

Метахарактеристики регулярних виразів у JavaScript

Метахарактери є основою шаблону регулярного вираження. Вони являють собою поєднання зворотної косої межі з буквою алфавітом, які разом утворюють метасимволу і кожен з нього має особливе значення, пов'язане з кожним з них. Наприклад, "\ n" позначає новий рядок. Кілька інших прикладів метахарактерів є.

  1. \ t - використовується для пошуку символу вкладки.
  2. \ v - використовується для пошуку символу вертикальної вкладки.
  3. \ s - використовується для пошуку символів пробілу.
  4. \ S - використовується для пошуку небілих символів пробілу.
  5. \ d - використовується для пошуку числових цифр.
  6. \ D - використовується для пошуку нурісних цифр.
  7. \ w - використовується для пошуку слів.
  8. \ W - використовується для пошуку нічого, крім слів.
  9. . - крапка використовується для пошуку одного символу, відмінного від нового рядка або кінця рядка.
  10. \ 0 - використовується для пошуку нульового символу.

Набори та діапазони регулярних виразів у JavaScript

У цьому сценарії квадратні дужки використовуються як частина

Синтаксис

Say, for the set (abc) – only the characters a, b and c are to be considered.

Приклади 1

  1. (abc) - тобто будь-який символ, крім abc.
  2. (a | b) - або a, або b можна розглядати.

У разі діапазонів, діапазон передбачений між цим діапазоном все символи повинні бути розглянуті. Наприклад: (az) означає, що всі символи від через z до нижнього регістру будуть враховані.

Приклади 2

  1. (0-9) - всі символи від нуля до дев'яти.
  2. (AZ) - всі символи від А до Я у верхньому регістрі.

Квантори регулярних виразів у JavaScript

Вони позначаються за допомогою спеціальних символів. Кожен спеціальний персонаж має з ним пов'язане значення. Ці символи використовуються разом із регулярними виразами. Мало хто з найбільш використовуваних кванторів є:

  1. * - Відповідає рядок, що містить нульовий або більше екземплярів.
  2. + - Збігає рядок, що містить один або кілька екземплярів.
  3. ? - Відповідає рядок, що містить нуль або один екземпляр.
  4. (n) - Тут “n” приймає число. Відповідає необхідному регулярному вираженню кількість разів, згадане замість "n".
  5. $ - узгоджує заданий вираз із кінцем рядка.
  6. - Збігає заданий вираз із початком рядка.
  7. ? = - Збігає будь-який рядок із зразком регулярного виразку після знаку рівності.
  8. ?! - Відповідає будь-який рядок, яка не містить шаблон регулярного вираження після знака оклику.

Властивості регулярних виразів у JavaScript

Складається з таких властивостей:

  1. Конструктори - визначає, яка функція створила прототип об'єкта регулярного вираження.
  2. Global - перевіряє, чи встановлено прапор "g".
  3. Ігнорувати випадок - перевіряє, чи встановлено прапор "i".
  4. Останній індекс - визначає позицію індексу, з якої потрібно починати наступний матч.
  5. Multiline - перевіряє, чи встановлено прапор "m".
  6. Джерело - надає тексту шаблону регулярних виразів.

Методи в регулярних виразах і рядках

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

  1. Exec () - виконує шукати збіги в рядку і повертає перший матч. Якщо не знайдено відповідності, то повертається null.
  2. тест () - Тести на матчі в рядку і повертає результат у вигляді Boolean. Тобто якщо відповідність знайдена, вона повертає істину, якщо ні, то повертає помилкову.
  3. toString () - Повертає еквівалентний рядковий об'єкт регулярного виразу.

Методи рядків, які корисні при роботі з регулярними виразами

  1. match () - це метод String, який шукає збіг у рядку. Якщо знайдено, повертає збіг, якщо ні, то повертає null.
  2. matchAll () - це метод Рядок, яка виглядає для всіх матчів в рядку.
  3. Розкол () - це метод рядки використовується для розбиття рядка на основі регулярних виразів при умови.
  4. пошук () - це метод рядок використовується для пошуку в матчі проти даного регулярного виразу. Повертає 0 про успіх та -1 за невдачу.

Висновок

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

Рекомендовані статті

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

  1. Як працює JavaScript
  2. Що таке JavaScript?
  3. Як встановити JavaScript
  4. Вступ до JavaScript
  5. Функції Regex в Python (приклад)