четверг, 23 ноября 2017 г.

Обучение регулярным выражениям с помощью Regexpal.com

Я долгое время откладывал изучение регулярных выражения напотом! Но вот настал момент и я дошел до того, что без понимания принципов работы с регулярными выражениями я не могу эффективно работать как программист! Потому что регулярные выражения напичканы везеде! И в текстовых редакторах да и в практически любом языке программирования, если не в любом!
Для изучения регулярных выражений я решил приобрести книгу "Основы регулярных выражений, Майкл Фицджеральд".
Автор книги советует сервис regeхpal.com для обучения по его книге. И вот я как примерный ученик открыл учебник, сел за компьютер, открыл данный сайт и начал учиться!!! Интересно что у меня получится...

Узнал следующее:
  1. \d - пример символьного сокращения [0-9](Символьные сокращения были введены для упрощения конструкций вроде [0-9]).
  2. \D - символьное сокращение в верхнем регистре является инверсией!
  3. . - любой символ, кроме символа конца строки.
  4. (\d) - захватывающая группа, для одного символа цифры, на сколько я понял захватывающие группы используются для того, чтобы их можно было сохранить и задать правило, которое будет говорить, что эта группа еще где-то должна появиться.
  5. (?:\d) - не захватывающая группа, получается добавлением ?:
  6. \1 - обратная ссылка на значение в первой захватывающей группе, является переменной
  7. $1 - также переменная ссылка на первую захваченную группу( возможный вариант )
  8. \d{3} - квантификатор повторения, повторяет предыдущее значение указанное кол-во раз.
  9. ? - квантификатор, означает что преыдущее значение может встретиться 0 или 1 раз.
  10. + - повторение предыдущего символа 1 или более раз.
  11. * - повторение предыдущего символа 0 или более раз.
  12. ^ - начало строки
  13. $ - конец строки
  14. | - или
  15. [^a-z] - знак галочки внутри скобок группы означает инверсию

Таблица основных символьных сокращений

Символьное сокращение Описание
\a Звуковой сигнал(не понятно!)
\b Граница слова
[\b] Возврат на шаг(забой) - тоже не совсем понятно как это применять
\B Не граница слова
\cx
Управляющий символ
\d Цифра
\D Не цифра
\d xxx Десятичное значение кода символа - не понятно
\f Перевод формата
\r Возврат каретки
\n Перевод строки
\o xxx Восьмеричное значение кода символа - кажется начал догадываться зачем это
\s Пробел
\S Не пробел
\t Символ горизонтальной табуляции
\v Символ вертикальной табуляции
\w Словарный символ
\W Не словарный символ
\O Пустой символ null
\x xx Шестнадцатиричное значение кода симола
\u xxxx
Символ в кодировке Unicode

Комментариев нет:

Отправить комментарий

Mysql настройка режима

Для настройки режима mysql не обязательно править конфиги можно выполнить команду mysql > set global sql_mode = 'STRICT_TRANS_TAB...