Вступ до регулярних виразів у 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" позначає новий рядок. Кілька інших прикладів метахарактерів є.
- \ t - використовується для пошуку символу вкладки.
- \ v - використовується для пошуку символу вертикальної вкладки.
- \ s - використовується для пошуку символів пробілу.
- \ S - використовується для пошуку небілих символів пробілу.
- \ d - використовується для пошуку числових цифр.
- \ D - використовується для пошуку нурісних цифр.
- \ w - використовується для пошуку слів.
- \ W - використовується для пошуку нічого, крім слів.
- . - крапка використовується для пошуку одного символу, відмінного від нового рядка або кінця рядка.
- \ 0 - використовується для пошуку нульового символу.
Набори та діапазони регулярних виразів у JavaScript
У цьому сценарії квадратні дужки використовуються як частина
Синтаксис
Say, for the set (abc) – only the characters a, b and c are to be considered.
Приклади 1
- (abc) - тобто будь-який символ, крім abc.
- (a | b) - або a, або b можна розглядати.
У разі діапазонів, діапазон передбачений між цим діапазоном все символи повинні бути розглянуті. Наприклад: (az) означає, що всі символи від через z до нижнього регістру будуть враховані.
Приклади 2
- (0-9) - всі символи від нуля до дев'яти.
- (AZ) - всі символи від А до Я у верхньому регістрі.
Квантори регулярних виразів у JavaScript
Вони позначаються за допомогою спеціальних символів. Кожен спеціальний персонаж має з ним пов'язане значення. Ці символи використовуються разом із регулярними виразами. Мало хто з найбільш використовуваних кванторів є:
- * - Відповідає рядок, що містить нульовий або більше екземплярів.
- + - Збігає рядок, що містить один або кілька екземплярів.
- ? - Відповідає рядок, що містить нуль або один екземпляр.
- (n) - Тут “n” приймає число. Відповідає необхідному регулярному вираженню кількість разів, згадане замість "n".
- $ - узгоджує заданий вираз із кінцем рядка.
- - Збігає заданий вираз із початком рядка.
- ? = - Збігає будь-який рядок із зразком регулярного виразку після знаку рівності.
- ?! - Відповідає будь-який рядок, яка не містить шаблон регулярного вираження після знака оклику.
Властивості регулярних виразів у JavaScript
Складається з таких властивостей:
- Конструктори - визначає, яка функція створила прототип об'єкта регулярного вираження.
- Global - перевіряє, чи встановлено прапор "g".
- Ігнорувати випадок - перевіряє, чи встановлено прапор "i".
- Останній індекс - визначає позицію індексу, з якої потрібно починати наступний матч.
- Multiline - перевіряє, чи встановлено прапор "m".
- Джерело - надає тексту шаблону регулярних виразів.
Методи в регулярних виразах і рядках
Поширені методи в регулярних виразах
- Exec () - виконує шукати збіги в рядку і повертає перший матч. Якщо не знайдено відповідності, то повертається null.
- тест () - Тести на матчі в рядку і повертає результат у вигляді Boolean. Тобто якщо відповідність знайдена, вона повертає істину, якщо ні, то повертає помилкову.
- toString () - Повертає еквівалентний рядковий об'єкт регулярного виразу.
Методи рядків, які корисні при роботі з регулярними виразами
- match () - це метод String, який шукає збіг у рядку. Якщо знайдено, повертає збіг, якщо ні, то повертає null.
- matchAll () - це метод Рядок, яка виглядає для всіх матчів в рядку.
- Розкол () - це метод рядки використовується для розбиття рядка на основі регулярних виразів при умови.
- пошук () - це метод рядок використовується для пошуку в матчі проти даного регулярного виразу. Повертає 0 про успіх та -1 за невдачу.
Висновок
Регулярні вирази можна записати, використовуючи різні комбінації метахарактерів, кванторів і прапорів, коли це потрібно. Вони також мають власний набір методів, а також добре працюють із часто використовуваними рядковими методами. Можна легко використовувати їх для перевірки чи обмеження вмісту відповідно до чиїхсь вимог.
Рекомендовані статті
Це керівництво щодо регулярних виразів у JavaScript. Тут ми обговорили синтаксис до регулярних виразів у JavaScript, метахарактеристики, набори та діапазони, квантори, властивості, методи з результатами. Ви також можете переглядати наші статті, щоб дізнатися більше -
- Як працює JavaScript
- Що таке JavaScript?
- Як встановити JavaScript
- Вступ до JavaScript
- Функції Regex в Python (приклад)