Для большинства пользователей программы Datacol регулярные выражения являются сложной и пугающей темой. Но стоит научиться ими пользоваться и настройка программы станет отнимать все меньше времени.
Перед тем как приступать к практике, мы рекомендуем изучить следующие разделы онлайн справки Datacol: Теория и Часто используемые регулярные выражения.
А теперь можно переходить к полезной информации и советам по побору регулярок.
У регулярок есть метасимволы. Вот их перечень:
Если в нашем regex присутствуют какие-то из метасимволов, его необходимо «экранировать», то есть поставить перед ним «\». К примеру, для (страница), regex будет: \(страница\)
В регулярных выражениях существуют специальные наборы символов:
\d — цифра, также можно использовать: [0-9]
\D — НЕ цифра, также можно использовать: [^0-9]
\s — символ whitespace, также можно использовать: [ \t\n\r\f\v]
\S — НЕ whitespace символ, также можно использовать: [^ \t\n\r\f\v]
\w — буква, цифра, также можно использовать: [a-zA-Z0-9_]
\W — НЕ буква, цифра, также можно использовать: [^a-zA-Z0-9_]
Чтобы задать информацию о том, сколько раз должен повторится символ, в фигурных скобках необходимо указать количество {1}. Вы также можете указать диапазон {1,10} или {5,} — от 5-и до бесконечности.
Если вы возьмете выражение в скобки, то к нему можно будет обратиться по порядковому номеру.
Например, у Вас есть строка со следующей датой 27.03.2017. Создадим регулярное выражение:
Давайте его разберем:
[\d]{2} — нам надо найти две цифры
[\d]{4} — нам надо найти четыре цифры
Каждое выражение мы заключили в скобки, в итоге у нас вышло три группы. Указав номер группы в настройках, вы сможете получить именно то значение, которое вас интересует.
Вы можете использовать группы в заменах. Например, нам необходимо дату 27.03.2017 перевести в следующий формат: месяц-день-год. Наше выражение:
В заменах группу обозначаем символом «$». Создаем замену со сменой нашего выражения на $2-$1-$3. В итоге получаем:
Регулярное выражение, которое найдет e-mail адрес:
Регулярное выражение, которое найдет заголовок документа (title):
При поиске информации в тегах или между ними рекомендуем писать выражение [^<>]*? вместо .*? . Это поможет ускорить поиск и вы найдете именно тот участок, который вам нужен.
Регулярное выражение, которое найдет метатег description:
Регулярное выражение, которое найдет метатег keywords:
Продолжаем разбирать тему регулярных выражений во 2-й части статьи.
Материал для статьи был предоставлен сайтом bestweb4u.net, на котором можно найти много познавательных материалов по тонкостям настройки Datacol.