Уроки JavaScript – Шпаргалка по регулярним виразам
У сьогоднішній статті ми розглянемо регулярні вирази в JavaScript, а також побачимо практичні приклади використання регулярних виразів в JavaScript скриптах.
Регулярні вирази бувають досить корисними, і їх можна використовувати практично у всіх своїх скриптах. Але, для цього потрібна практика, тому нижче представлені основні приклади регулярних виразів, які допоможуть вам в цьому.
Шпаргалка регулярних виразів в JavaScript
Скорочений запис пошуку символів
let regex; regex = /\d/; // відповідає будь-якій цифрі regex = /\D/; // відповідає будь-якій не цифрі regex = /\w/; // відповідає будь-якому символу з літерного набору (a-z, A-Z, 0-9, _) regex = /\W/; // відповідає будь-якому несловесному символу regex = /\s/; // відповідає будь-якому символу порожнього простору (\r (повернення каретки), \n (новий рядок), \t (табуляція)) regex = /\S/; // відповідає будь-якому символу не порожнього простору
Відповідність певному рядку
let regex; regex = /world/; // шукає рядок між слешами (з урахуванням регістру). Відповідає "world", "world123", "123world123", "123world". Не відповідає "worlD", "World" regex = /world/i; // шукає рядок між слешами (без урахування регістру). Відповідає "world", "World", "123World"
Символи узагальнення (підстановочні символи)
let regex; regex = /w.rld/; // Крапка (.) відповідає будь-якому іншому символу, крім символу нового рядка. Відповідає "world", "wyrld", але не "w\nrld" regex = /w.*rld/; // Знак зірочки (*) відповідає будь-якому символу (символам) нуль або більше разів. Відповідає "world", "wooooorld", "wrld", "wjdjjkkrld"
Конкретні символи
let regex; regex = /[qwerty]/; // відповідає будь-якому символу у квадратних дужках regex = /[ae]ffect/; // відповідає affect або effect regex = /[^qwerty]/; // відповідає всьому, крім символів в квадратних дужках
Діапазони символів
let regex; regex = /[a-z]/; // відповідає всім маленьким буквам regex = /[A-Z]/; // відповідає всім великим буквам regex = /[a-k]/; // відповідає маленьким буквам від a до k (включно) regex = /[G-Y]/; // відповідає всім заголовним буквам від G до Y (включно) regex = /[0-9]/; // відповідає всім цифрам regex = /[4-9]/; // відповідає будь-якій цифрі від 4 до 9 (включно) regex = /[a-zA-Z]/; // відповідає всім маленьким і прописним буквам regex = /[^a-zA-Z]/; // відповідає всім не буквам
Відповідність повторень з використанням квантифікаторів
let regex; regex = /(world){3}/; // відповідає "worldworldworld" regex = /world{3}/; // відповідає "worlddd" і "worldddd", але не "worldd" regex = /\d{3}/; // відповідає 3 цифрам ( «312», «122», «111», «12312321», але не «12») regex = /\d{3,5}/; // відповідає цифрам, які зустрічаються від 3 до 5 разів (включно) regex = /\d{3,}/; // відповідає цифрам, які зустрічаються як мінімум 3 рази
Відповідність повторень з використанням зірочки і плюса
let regex; regex = /ab*c/; // відповідає нуль або більше повторенням "b" (відповідає "abc", "abbbbc", "ac") regex = /ab+c/; // відповідає одному або декільком повторенням «b» (відповідає «abc», «abbbbc», але не «ac»)
Зіставлення початкових і кінцевих елементів
let regex; regex = /^[A-Z]\w*/; // відповідає "H", "Hello", але не "hey" regex = /\w*s$/; // відповідає "cats", "dogs", "avocados", але не "javascript"
Відповідність границь слова (його положення)
- перед першим символом в рядку (якщо перший символ є символом слова)
- після останнього символу в рядку, якщо останній символ є символом слова
- між двома символами в рядку, де один є символом слова, а інший – не є
*/
regex = /\bmeow\b/; // відповідає "hey meow lol", "hey:meow:lol", але не "heymeow lol"
Альтернативна відповідність
let regex; regex = /i like (apple|banana|orange)\./; // відповідає «i like apple.», «i like banana.» та «i like orange.».
Можливі функції
let regex; regex.test("World"); // повертає true, якщо знайдено збіг, інакше false regex.exec("World"); // повертає масив результатів, інакше null
Приклад перевірки:
<script type="text/javascript"> let regex; regex = /w.rld/; if ( regex.test("world") ) { console.log("Yes!"); } else { console.log("No!"); } </script>
От і все! Сподіваємося, що сьогоднішня шпаргалка по регулярним виразам в JavaScript була вам корисною!