{if $Think.config.uk.regexdso.status == '1'} {/if

Common Regular Expressions

Опис Регулярний вираз
URL [a-zA-z]+://[^\s]*
IP адреса ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
Email адреса \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Номер QQ [1-9]\d{4,}
HTML теги (з вмістом або самозакриваючі) <(.*)(.*)>.*<\/\1>|<(.*) \/>
Пароль (має містити цифри/великі літери/маленькі літери/знаки пунктуації, всі чотири обов'язкові, не менш ніж 8 символів) (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
Дата (рік-місяць-день) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
Дата (місяць/день/рік) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
Час (години:хвилини, 24-годинний формат) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Китайські ієрогліфи (символи) [\u4e00-\u9fa5]
Китайські та повноекранні знаки пунктуації (символи) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Фіксований телефонний номер Китаю (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Мобільний номер Китаю 1\d{10}
Поштовий індекс Китаю [1-9]\d{5}
Номер посвідчення особи Китаю (15 або 18 цифр) \d{15}(\d\d[0-9xX])?
Ненегативне ціле число (позитивні цілі числа або нуль) \d+
Позитивне ціле число [0-9]*[1-9][0-9]*
Негативне ціле число -[0-9]*[1-9][0-9]*
Ціле число -?\d+
Десяткове число (-?\d+)(\.\d+)?
Слова, які не містять abc \b((?!abc)\w)+\b
Опис Регулярний вираз
Ім'я користувача /^[a-z0-9_-]{3,16}$/
Пароль /^[a-z0-9_-]{6,18}$/
Шістнадцяткове значення /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
Електронна пошта /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP адреса /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML теги /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Діапазон китайських символів в Юнікоді /^[u4e00-u9fa5],{0,}$/
Регулярний вираз для відповідності китайським символам [\u4e00-\u9fa5]
Коментар: Відповідність китайським символам може бути складною, але з цим виразом це стало простіше
Відповідність двобайтовим символам (включаючи китайські символи) [^\x00-\xff]
Коментар: Можна використовувати для обрахунку довжини рядка (один двобайтовий символ рахується за 2, а ASCII символ за 1)
Регулярний вираз для відповідності порожнім рядкам \n\s*\r
Коментар: Можна використовувати для видалення порожніх рядків
Регулярний вираз для HTML тегів <(\S*?)[^>]*>.*?</\1>|<.*?/>
Коментар: Існуючі версії в мережі занадто погані, цей вираз може відповідати лише частково, для складних вкладених тегів все ще нерезультативний.
Регулярний вираз для відповідності наявності пробілів спереду та ззаду ^\s*|\s*$
Коментар: Можна використовувати для видалення пробілів на початку і в кінці рядка (включаючи пробіли, табуляцію, символи переходу на новий рядок тощо), дуже корисний вираз
Регулярний вираз для адрес електронної пошти \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Коментар: Дуже корисний для верифікації форм
Регулярний вираз для URL [a-zA-z]+://[^\s]*
Коментар: Версії, які розповсюджуються в Інтернеті, мають дуже обмежену функціональність, але цей вираз загалом задовольняє вимоги
Перевірка коректності облікового запису (літерне початок, дозволено 5-16 байтів, дозволені літери, цифри та підкреслення) ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
Коментар: Дуже корисно для верифікації форм
Регулярний вираз для телефонних номерів Китаю \d{3}-\d{8}|\d{4}-\d{7}
Коментар: Формат, як 0511-4405222 або 021-87888822
Регулярний вираз для номеру QQ [1-9][0-9]{4,}
Коментар: Номери QQ починаються з 10000
Регулярний вираз для поштового індексу Китаю [1-9]\d{5}(?!\d)
Коментар: Поштовий індекс у Китаї складається з 6 цифр
Регулярний вираз для перевірки посвідчення особи \d{15}|\d{18}
Коментар: Посвідчення особи в Китаї складаються з 15 або 18 цифр
Регулярний вираз для IP адреси \d+\.\d+\.\d+\.\d+
Коментар: Корисно для витягування IP адреси
Регулярний вираз для конкретних чисел:
^[1-9]\d*$ //відповідність позитивним цілим числам
^-[1-9]\d*$ //відповідність негативним цілим числам
^-?[1-9]\d*$ //відповідність цілим числам
^[1-9]\d*|0$ //відповідність ненегативним цілим числам (позитивні цілі числа + 0)
^-[1-9]\d*|0$ //відповідність непозитивним цілим числам (негативні цілі числа + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //відповідність позитивним дробовим числам
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //відповідність негативним дробовим числам
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //відповідність дробовим числам
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //відповідність ненегативним дробовим числам (позитивні дробові числа + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //відповідність непозитивним дробовим числам (негативні дробові числа + 0)
Коментар: Корисно при обробці великих обсягів даних, обов'язково внесіть корективи під час використання
Відповідність конкретним рядкам
^[A-Za-z]+$ //відповідність рядку, що складається з 26 літер
^[A-Z]+$ //відповідність рядку, що складається з великих літер
^[a-z]+$ //відповідність рядку, що складається з малих літер
^[A-Za-z0-9]+$ //відповідність рядку, що складається з цифр та 26 букв
^\w+$ //відповідність рядку, що складається з цифр, 26 літер або символа підкреслення
Символ Опис
\ Позначає наступний символ як спеціальний, або символ з власним значенням, або зворотне посилання, або восьмеричну escape-послідовність. Наприклад, «n» відповідає символу «n». «\n» відповідає символу нового рядка. Послідовність «\\» відповідає «\», а «\(» відповідає «(».
^ Відповідає початку рядка. Якщо властивість Multiline об'єкта RegExp активована, то ^ також відповідає за позиції після «\n» або «\r».
$ Відповідає кінцю рядка. Якщо властивість Multiline об'єкта RegExp активована, то $ також відповідає за позиції перед «\n» або «\r».
* Відповідає попередній підвиразі 0 або більше разів. Наприклад, zo* може відповідати «z» та «zoo». * еквівалентно {0,}.
+ Відповідає попередній підвиразі один або більше разів. Наприклад, «zo+» може відповідати «zo» та «zoo», але не може відповідати «z». + еквівалентно {1,}.
? Відповідає попередній підвиразі 0 або 1 раз. Наприклад, «do(es)?» може відповідати «do» або «does» у слові «do». ? еквівалентно {0,1}.
{n} n - це невід'ємне число. Відповідає однозначно n раз. Наприклад, «o{2}» не може відповідати «o» в слові «Bob», але може відповідати двом o в слові «food».
{n,} n - це невід'ємне число. Відповідає не менше ніж n раз. Наприклад, «o{2,}» не може відповідати «o» в слові «Bob», але може відповідати всім o в слові «foooood». «o{1,}» еквівалентно «o+». «o{0,}» еквівалентно «o*».
{n,m} m та n - це невід'ємні числа, де n≤m. Мінімум n раз і максимум m раз. Наприклад, «o{1,3}» відповідає першим трьом o в слові «fooooood». «o{0,1}» еквівалентно «o?». Зверніть увагу, що між комами та числами не повинно бути пробілів.
? Коли цей символ йде після будь-якого іншого обмежувача (*,+,?, {n}, {n,}, {n,m}), то режим відповіді буде не жадібним. Нежадібний режим відповідає максимально малим частинам рядка, а жадібний режим відповідає максимально великим частинам рядка. Наприклад, для рядка «oooo», «o+?» відповідатиме одному «o», а «o+» відповідатиме всім «o».
. Відповідає будь-якому єдиному символу, крім «\n». Щоб відповідати включаючи «\n», використовуйте шаблони, як-от «[.\n]».
(pattern) Відповідає шаблону pattern і отримує це відповідність. Отримане відповідність може бути отримане з збірки Matches, у VBScript використовуйте колекцію SubMatches, у JScript використовуйте властивості $0…$9. Щоб відповідати символу дужок, використовуйте «\(» або «\)».
(?:pattern) Відповідає шаблону pattern, але не отримує результати відповідності, іншими словами, це не отримує відповідність, не зберігається для подальшого використання. Це дуже корисно, коли використовуєте символ «|» для комбінації різних частин шаблону. Наприклад, «industr(?:y|ies)» є більш стиснутим шаблоном, ніж «industry|industries».
(?=pattern) Тест на позитивну підстановку, відповідає за початок рядка, який відповідає pattern. Це не отримує відповідність, тобто ця відповідність не потрібно отримувати для подальшого використання. Наприклад, «Windows(?=95|98|NT|2000)» може відповідати «Windows» у слові «Windows2000», але не може відповідати «Windows» у слові «Windows3.1». Передумова не споживає символи, тобто після останнього відповідності, наступний пошук відповідності починається одразу ж після завершення останнього відповідності, а не з символів, що містять передумову.
(?!pattern) Тест на негативну підстановку, відповідає за початок рядка, який не відповідає pattern. Це не отримує відповідність, тобто ця відповідність не потрібно отримувати для подальшого використання. Наприклад, «Windows(?!95|98|NT|2000)» може відповідати «Windows» у слові «Windows3.1», але не може відповідати «Windows» у слові «Windows2000». Передумова не споживає символи, тобто після останнього відповідності, наступний пошук відповідності починається одразу ж після завершення останнього відповідності, а не з символів, що містять передумову.
x|y Відповідає x або y. Наприклад, «z|food» може відповідати «z» або «food». «(z|f)ood» відповідає «zood» або «food».
[xyz] Масив символів. Відповідає будь-якому з вміщених символів. Наприклад, «[abc]» може відповідати «plain» у «a».
[^xyz] Негативний масив символів. Відповідає будь-якому символу, який не входить у масив. Наприклад, «[^abc]» може відповідати «plain» у «p».
[a-z] Діапазон символів. Відповідає будь-якому символу в заданому діапазоні. Наприклад, «[a-z]» може відповідати будь-якому малому літері в діапазоні «a» до «z».
[^a-z] Негативний діапазон символів. Відповідає будь-якому символу, що не входить у вказаний діапазон. Наприклад, «[^a-z]» може відповідати будь-якому символу поза діапазоном «a» до «z».
\b Відповідає межі слова, що означає позицію між словом і пробілом. Наприклад, «er\b» може відповідати «er» у слові «never», але не може відповідати «er» у слові «verb».
\B Відповідає за позицію, яка не є межею слова. «er\B» може відповідати «er» у слові «verb», але не може відповідати «er» у слові «never».
\cx Відповідає за контролювальним символом, визначеним x. Наприклад, \cM відповідає символу Control-M або символу нового рядка. Значення x повинно бути одним з A-Z або a-z. Інакше c витримуються як звичайний символ «c».
\d Відповідає цифровому символу. Еквівалентно [0-9].
\D Відповідає символу, що не є цифрою. Еквівалентно [^0-9].
\f Відповідає символу нового рядка. Еквівалентно \x0c та \cL.
\n Відповідає символу нового рядка. Еквівалентно \x0a та \cJ.
\r Відповідає символу повернення каретки. Еквівалентно \x0d та \cM.
\s Відповідає будь-якому пробільному символу, включаючи пробіли, табуляцію, символи нового рядка тощо. Еквівалентно [\f\n\r\t\v].
\S Відповідає будь-якому непопільному символу. Еквівалентно [^\f\n\r\t\v].
\t Відповідає символу табуляції. Еквівалентно \x09 та \cI.
\v Відповідає вертикальному символу табуляції. Еквівалентно \x0b та \cK.
\w Відповідає будь-якому словесному символу, включаючи підкреслення. Еквівалентно “[A-Za-z0-9_]”.
\W Відповідає будь-якому несловесному символу. Еквівалентно “[^A-Za-z0-9_]”.
\xn Відповідає значенню n, яке є шестизначним еквівалентом. Шістнадцяткове значення має бути визначеним двозначним. Наприклад, «\x41» відповідає «A». «\x041» еквівалентно «\x04&1». Шістнадцяткове значення можна використовувати з кодами ASCII в регулярних виразах.
\num Відповідає num, де num є позитивним. Для посилання на отримані відповідності. Наприклад, «(.)\1» відповідає двом однаковим символам підряд.
\n Позначає восьмеричне значення або зворотнє посилання. Якщо num раніше, ніж n отримав підстрічку, тоді n є для зворотного посилання. В іншому випадку, якщо n є восьмеричним числом (0-7), тоді n буде восьмеричним значенням.
\nm Позначає восьмеричне значення або зворотнє посилання. Якщо m перед n отриманою підрядком, n є зворотнім посиланням. Якщо обидва умови не виконуються, але n та m є восьмеричними цифрами (0-7), тоді nm буде відповідати восьмеричному значенню.
\nml Якщо n є восьмеричним числом (0-3) і m та l є восьмеричними (0-7), тоді він відповідає восьмеричному значенню nml.
\un Відповідає n, яке є чотиризначним шістнадцятковим числом. Наприклад, \u00A9 відповідає знаку авторського права (©).

Збірник звичайних регулярних виразів - включаючи URL, телефонні номери, буквено-цифрові, перевірка форм тощо

Ласкаво просимо до нашого переліку звичайних регулярних виразів! Тут зібрані різноманітні корисні регулярні вирази, що охоплюють перевірку у форматі URL, перевірку телефонних номерів, перевірку буквено-цифрових комбінацій, перевірку форм тощо. Незалежно від того, чи потрібно перевірити дані, обробити рядки або замінити, ви знайдете тут відповідні приклади регулярних виразів.

Приклади звичайних регулярних виразів

  • Регулярний вираз для URL: використовуються для перевірки, чи є формат URL правильним, наприклад: http://www.example.com.
  • Регулярний вираз для телефонних номерів: перевіряє формат мобільних номерів, підтримує правила номерів різних країн.
  • Регулярний вираз для буквено-цифрових символів: відповідає комбінаціям букв та цифр, використовується для перевірки імен користувачів або паролів.
  • Регулярний вираз для перевірки форм: використовується для перевірки введених даних у формі, таких як електронна пошта, номера посвідчення особи, поштовий індекс тощо.
  • Регулярний вираз для обробки рядків: включає видалення пробілів, заміну спеціальних символів та інші звичайні обробки.
  • Заміна за допомогою регулярних виразів: заміна рядків за допомогою регулярних виразів, підтримує складні варіанти відповіді.
  • Пошук з використанням регулярних виразів: використовується для пошуку відповідного фрагмента в рядку, підтримуючи кілька режимів відповідності.

Звичайні приклади регулярних виразів

Ось кілька звичайних регулярних виразів та їх опис, які допоможуть розробникам швидко освоїтись:

  • Перевірка адреси електронної пошти:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
  • Перевірка телефонних номерів:/^(1[3-9])\d{9}$/
  • Перевірка URL:/^(http:\/\/|https:\/\/)?[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/
  • Тільки цифри та літери:/^[A-Za-z0-9]+$/
  • Перевірка номера посвідчення особи:/^\d{15}|\d{18}$/

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

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

  • Перевірка форм: використання регулярних виразів для перевірки правильного формату введених даних користувачем, таких як електронна пошта, телефонні номери тощо, щоб забезпечити законність даних.
  • Очищення даних: регулярні вирази можна використовувати для видалення або заміни конкретних рядків з тексту, таких як видалення зайвих пробілів або заміна спеціальних символів.
  • Відповідність інформації: використання регулярних виразів для швидкого пошуку відповідностей в рядках, дозволяючи швидкий пошук у великих обсягах даних.

Почніть використовувати регулярні вирази

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

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

Ваші сліди:
Оберіть мову