Regex Tester - пишем приложение для тестирования сложных текстовых запросов по шаблону

Поиск по шаблону - удобное средство для программирования. Например, если из множества материалов надо выбрать те, названия которых имеют отношение к кирпичной кладке из керамического кирпича. Это может быть “Кирпич керамический ...“ или “Керамический кирпич ... “ или “Кладка из керамического кирпича“ и т.п. Выполнение операций отбора с учетом всего многообразия возможных словосочетаний выливается в трудно реализуемый громоздкий программный код. На помощь приходит язык запросов по шаблону. Можно составить запрос: (?=.*кирпич.*)(?=.*керамич.*) и применить этот шаблон для поиска в одной единственной команде: string sPattern = “(?=.*кирпич.*)(?=.*керамич.*)“; string sSourceText = “Кирпич керамический красный М150“; bool bResult = str_regex_search(sSourceText, sPattern). Одновременно с этим можно обрабатывать запросы с условием отсутствия каких либо фрагментов. Например, чтобы выбрать все строки с кирпичом, но только не М150, дополняем запрос еще одной вставкой: string sPattern = “(?=.*кирпич.*)(?=.*керамич.*)(?!.*М150.*)“; Тогда функция str_regex_search вернет false. Но еще пользователи часто пишут M150 с маленькой буквы, или по английски. На этот случай на месте буквы М дополняем запрос конструкцией [MmМм] тогда все перечисленные варианты будут учтены одним махом. string sPattern = “(?=.*кирпич.*)(?=.*керамич.*)(?!.*[МmМм]150.*)“; Видеоролик посвящен процессу создания инструмента тестирования запросов по шаблону. Создается приложение на языке LabPP_Automat C для ARCHICAD. Программирование не требует компиляции. Программа представляет собой текстовый файл. Фрагменты и приемы программирования можно использовать в своих собственных разработках. Полный текст этой программы доступен в дистрибутиве LabPP_Automat в каталоге генератора программ.
Back to Top