У сьогоднішній статті ми розглянемо регулярні вирази в 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 була вам корисною!
Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…
Коли проєкт залежить від чужих обмежень, зростають ризики простоїв, втрати доступу до даних і складнощів…
У тих, хто планує створення сайту вперше, майже завжди виникає питання: що таке домен і…
Для простого користувача критерієм хорошого Wi-Fi є швидке завантаження сторінок та відсутність буферизації під час…
Коли власник стоматологічної клініки вперше замислюється про автоматизацію, він нерідко іде найпростішим шляхом: гуглить "CRM…
Алоха! Останні кілька років остаточно закріпили тренд на віддалену роботу. Для веб-розробників, DevOps-інженерів та адміністраторів…