Регулярные выражения для парсинга технологического журнала 1С

Данная статья — это мои заметки для подготовки к экзамену 1С:Эксперт по технологическим вопросам, в статье присутствуют ссылки на первоисточники.

Для анализа в Windows можно использовать следующие варианты:

  1. Git (bash) — эмулятор консоли
  2. Расшарить папку по сети и подключить ее на машине с Linux (этот способ я использовал для подготовки к 1С:Эксперту)
  3. Notepad++ для небольших объемов технологического журнала

Полное руководство по основам регулярных выражений можно найти в статье на Хабре — Регулярные выражения (regexp) — основы (ссылка https://habr.com/ru/articles/545150/), а далее представлены выдержки из этой статьи необходимы для подготовки к 1С:Эксперту

Регулярные выражения (кратко)

Метасимволы

(точка) . — любой символ

\s или [ \f\n\r\t\v] — пробельный символ

\S или [ ^\f\n\r\t\v] — не пробельный символ

\w или [[:word:]] — буквенный или цифровой символ или знак подчёркивания

\W или [^[:word:]] — любой символ кроме буквенного или цифрового символа или знак подчёркивания

\d или [0-9] — цифровой символ

\D или [^0-9] — нецифровой символ

\b — означает границу слова — пробел, табуляция или перевод строки, в том числе и начало строки

Квантификаторы (количество повторений)

(звездочка) * — предшествующий символ может повторяться от 0 до бесконечности

(плюс) + — предшествующий символ может повторяться от 1 раза до бесконечности

(вопрос) ? — предшествующий символ либо есть, либо его нет

{n} — предшествующий символ повторяется n раз

{n1,n2} — предшествующий символ повторяется от n1 до n2 раз

Конструкции для парсинга технологического журнала 1С

grep

Найти все события CALL и SCALL

grep -P ‘,S?CALL,’ —color

Найти все события CALL с Context

grep -P ‘,CALL,.*Context=’ —color

Найти события TLOCK и TDEADLOCK

grep -P ‘,T(DEAD)?LOCK’ —color или grep -P ‘,T.{0,4}LOCK’ —color или grep -P ‘,T(DEAD|)LOCK’ —color

Найти все события TDEADLOCK и TTIMEOUT

grep -P ‘T(DEADLOCK|TIMEOUT)’ —color

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *