Jump to content

Typical society in the Telegram - This is the backup site feed forum.losper.net

Mass debate, problem-solving, assistance, support and a wonderful community ...

You can upload files in the Telegram channel and share link on the forum "Typical society."

This method helps to avoid broken links in the future and the loss of files on the site!

Important events on the site, you'll also find in our Telegram channel ...

Share your experiences with others, help, be responsive, friendly and communicate with other users.

Типичный Социум
Create New...

регулярка Регулярка и Регулярные выражения


AndrewPro
 Share

Recommended Posts

  • Admin

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

Регулярка

[\w] - только буквы, числа и нижнее подчеркивание _
[\W]- все кроме букв, чисел и нижнего подчеркивания _

[\d] - только цифры
[\D] - все кроме цифр

[\n] - перенос строки

[\s] - пробел и разделитель
[\S] - найти все что не является символом разделителя

[\t] - найти символы табуляции или табуляцию

Подмаска регулярок:
/a/ ищем символ а
'/a(s|\s)/' - будет искать символ "a и пробел" и "a и s"

\s - символ пробела
() - после которого идет, все что находится в () - является подмаской
| - знак ИЛИ
\ - экранирование

Если без подмаски - () , тогда будет искать "as" и\либо символ "пробела"

'/a./' - Найти вхождение "a" после которого идет любой другой символ - один символ, после "a" (за это отвечает точка ".")
. - один символ после
. - любой символ

'/\s{2, }\w/' - Ограничивать длину последовательности (мы хотим выбрать, только те элементы, в которых у нас идет БОЛЕЕ ОДНОГО пробела и \w - любой другой символ и любой символ, цифра и нижнее подчёркивание _) "2," - означает, два и более раз. так же можно сделать от 2 до 4 с помощью - {2,4}

[] - символьный класс
[\S] - любой символ, кроме пробела
'/[\S]\s{2, }\w/' - До пробелов не должно быть пробела, модификация '/\s{2, }\w/'

Система отрицаний:
^ - означает как НЕ
'/[^,\s]/' - перед которыми НЕ стоят Запятая и символы Пробела

'/^/' - искать что то с начала строки ( если указана ^ не в символьном классе [] )

'/^[A-Z]/' - искать с начала строки заглавные буквы от A до Z

$ - с конца строки ( пример: '/[A-Z]$/')

от 2 до 4 раз - {2,4} - можно написать более просто - 1 и более раз, равен знаку + 
*  - означает 0 и Более раз...
+ - означает 1 и Более раз... 
Ноль или более раз - 
'/[\d]{3}/' - цифры, которые будут повторятся 3 раза
\d+ - любая цифра 1 или Более раз


Жадность Квантификатора:
Квантификатор - это и есть тот алгоритм, который разбирает строку, по данному шаблону и ищет соответствие этому шаблону. По умолчанию, Квантификатор  - жадный (он пытается захватить максимум символов, удовлетворяющему шаблону)!

'/.+/' - любые символы, 1 или Более раз
'/.+\s/' - любой символ, 1 или Более раз, до любого символа "Пробела"
'/.+\s+/' - любой символ, 1 или Более раз, до любого символа "Пробела" 1 или более раз

? - изменить жадность Квантификатора ( меняется указанием знака "Вопроса" ? ), Пытается захватить минимум символов заданному шаблону.

'/.+?\s+/' - получим массив соответствий! 
К примеру: maSFha  is, 1234567bc - проверяем данную строку
И получим в виде : 
maSFha = 0 элемент
is = 1 второй элемент
1234567bc = 2 третий элемент

'/ /' - ограничитель регулярных шаблонов


Флаги - флаги ставятся после или перед ограничителем:

Регулярных шаблонов '/ /'
'/.+\s+/U'
U - Флаг, который меняет глобально Жадность квантификатора "?"
u - флаг, обозначает что мы осуществляем Мульти байтовый поиск в кодировке utf-8
'/[а-яА-Я]+/u' - вот пример с флагом u - где мы ищем в Мульти байтовой кодировке.
i - флаг i помогает работать и искать как Заглавные, так и строчные буквы (символы)
'/[а-я]+/ui' - вот и собственно пример (можно не указывать еще заглавные типа А-Я)!

Флаги с Многострочным поиском:
m - Флаг, многострочного поиска
'/^.+&/m' - любые символы от начала до конца строки, где от начала - это ^ и до конца строки - это & , где м - это в многострочном поиске (где несколько строк и более)

Telegram сайта  "Типичный социум"

Link to comment
Share on other sites

  • 3 months later...
  • Moderator

регулярное выражение для номеров мобильных телефонов: 

/^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

Принимает следующие варианты:

+7(123)456-78-90

81234567890

8(123)45-678-99

+380(12)345-6-789

+1-234-567-8900

+233 123456789

Диапазон количества цифр можно задать какой вам будет удобен 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Current Donation Goals

  • 97 Небольшой соц. опрос по определенным языкам программирования...

    1. 1. Выберите язык программирования из списка, который вам больше всего нравится или на котором вы программируете?


      • PHP 7.x
      • JavaScript
      • Python 3.x
      • C#
      • Node.js
      • Dart \ Flutter
      • ASP.Net Core
      • .Net Core
      • C++
      • TypeScript
      • Ruby
      • Go
      • Kotlin

  • 88 Небольшой соц. опрос по определенным IDE (TOP 15 IDE)

    1. 1. Выберите из списка среду разработки на которой вы пишите код


      • Visual Studio Community
      • VS Code
      • WebStorm
      • PhpStorm
      • NetBeans
      • Notepad++
      • Eclipse
      • IntelliJ IDEA
      • PyCharm
      • Qt
      • Android Studio
      • Другие редакторы от JetBrains
      • SublimeText
      • Vim
      • Atom

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Privacy Policy

Search In
  • More options...
Find results that contain...
Find results in...

Write what you are looking for and press enter or click the search icon to begin your search

-->