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

Распространенные регулярные выражения

Описание Регулярное выражение
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+\/>)$/
Диапазон китайских символов в Unicode /^[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]+$ //соответствие строке, состоящей из 26 заглавных букв английского алфавита
^[a-z]+$ //соответствие строке, состоящей из 26 строчных букв английского алфавита
^[A-Za-z0-9]+$ //соответствие строке, состоящей из цифр и 26 букв английского алфавита
^\w+$ //соответствие строке, состоящей из цифр, 26 букв английского алфавита или подчеркиваний
Символ Описание
\ Обозначает следующий символ как специальный символ, или как символ с буквальным значением, или как обратное ссылочное выражение, или как восьмеричный escape. Например, “n” соответствует символу “n”. “\n” соответствует символу новой строки. Последовательность “\\” соответствует символу “\”, а “\(” соответствует символу “(”.
^ Соответствует начальной позиции входной строки. Если установлен режим многострочности объекта RegExp, ^ также соответствует позиции после “\n” или “\r”.
$ Соответствует конечной позиции входной строки. Если установлен режим многострочности объекта RegExp, $ также соответствует позиции перед “\n” или “\r”.
* Соответствует предыдущей подвыражении 0 или более раз. Например, zo* может соответствовать “z” и “zoo”. * эквивалентен {0,}.
+ Соответствует предыдущей подвыражении один или более раз. Например, “zo+” может соответствовать “zo” и “zoo”, но не может соответствовать “z”. + эквивалентен {1,}.
? Соответствует предыдущей подвыражении 0 или 1 раз. Например, “do(es)?” может соответствовать “do” в “do” или “does”. ? эквивалентен {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) Соответствует шаблону и получает это соответствие. Полученные совпадения можно извлечь из коллекции, а в VBScript они доступны через коллекцию SubMatches, а в JScript через свойства $0…$9. Чтобы соответствовать символам круглых скобок, используйте “\(” или “\)”.
(?:pattern) Соответствует шаблону, но не получает результат соответствия, то есть это необязательное соответствие, не сохраняющееся для последующего использования. Это удобно, когда соединяете различные части шаблона с помощью или “(|)”. Например, “industr(?:y|ies)” является более компактным выражением по сравнению с “industry|industries”.
(?=pattern) Позитивный предикат, который соответствует началу строки, в котором совпадает шаблон. Это необязательное соответствие, то есть символ не нужно хранить для последующего использования. Например, “Windows(?=95|98|NT|2000)” сможет соответствовать “Windows” в “Windows2000”, но не сможет соответствовать “Windows” в “Windows3.1”. Предикаты не потребляют символы, это означает, что когда совпадение происходит, следующее совпадение начинается сразу после последнего совпадения, а не с символов, содержащих предикат.
(?!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]” может соответствовать “a” в “plain”.
[^xyz] Отрицательный символьный класс. Соответствует любому символу, который не включен. Например, “[abc]” может соответствовать “p” в “plain”.
[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, где n – шестнадцатичное значение. Шестнадцатичное значение обязательно должно состоять из двух цифр. Например, “\x41” соответствует “A”. “\x041” эквивалентно “\x04&1”. В регулярных выражениях можно использовать ASCII кодировку.
\num Соответствует num, где num – положительное целое число. Ссылается на полученное совпадение. Например, “(.)\1” соответствует двум одинаковым последовательным символам.
\n Идентифицирует восьмеричный код или обратное соответствие. Если \n соответствует как минимум n полученным подвыражениям, то n будет обратным соответствием. В противном случае, если n – это восьмеричные числа (0-7), то n – это восьмеричный escape.
\nm Идентифицирует восьмеричный код или обратное соответствие. Если nm соответствует как минимум nm полученным подвыражениям, то nm будет обратным соответствием. Если n соответствует как минимум n, а m – это буквальная m, то n будет относиться к символу, следующему за m. Если ни одно из предыдущих условий не выполняется, а n и m являются восьмеричными числами (0-7), то nm будет соответствовать восьмеричному escape.
\nml Если n является восьмеричным числом (0-3), и m и l являются восьмеричными числами (0-7), то соответствует восьмеричному escape nml.
\un Соответствует n, где n – символ Unicode, представляемый четырьмя шестнадцатичными числами. Например, \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}$/

Как использовать регулярные выражения для проверки и обработки

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

  • Проверка форм: используйте регулярные выражения для проверки форматов пользовательского ввода данных, таких как электронная почта, номера телефонов и т.д., чтобы обеспечить действительность данных.
  • Очистка данных: регулярные выражения можно использовать для извлечения или замены определенных строк из текста, например, удаления лишних пробелов, замены специальных символов.
  • Соответствие информации: используйте регулярные выражения для быстрого поиска совпадений в строках, можно быстро искать в больших объемах данных.

Начните использовать регулярные выражения

С помощью нашего полного справочника распространенных регулярных выражений вы можете легко найти нужные регулярные выражения и применить их к вашему проекту. Независимо от того, выполняете ли вы проверку данных, обрабатываете строки или проводите сложное соответствие шаблонов, наша база регулярных выражений удовлетворит ваши потребности.

Надеюсь, этот инструмент поможет вам в вашей разработке. Если у вас есть дополнительные потребности в регулярных выражениях, не стесняйтесь просматривать наши другие связанные инструменты и ресурсы.

Ваши шаги:
Выбрать язык