### Описание regexp: `^` - начало строки `$` - конец строки `.` - любой символ `*` - любое количество (так, `.*` - любое количество любых символов) `\d` - любое число `(a|b|c)` - либо `a`, либо `b`, либо `c` `\` - экранирование спец. символов (так, `\.` - ищем символ точки, а не любой символ) ### Дополнительное обозначение в этом файле: `...` - любой текст --- #### Получение данных из названия файла (в функции `src/parser/config.hpp::getTestDataFromPath`) **Регулярка**: `^.*/(.*)_(c|cpp)_(incorrect_arguments|plausibility|correct_interface)_(\d+)_(\d+)\.cfg$` **Пример входных данных**: `.../correct_interface/check_obb2d_array_f32_c_correct_interface_2_1.cfg` **Распарсится как**: `.../correct_interface/(check_obb2d_array_f32)_(c)_(correct_interface)_(2)_(1).cfg` Result[0] = `.../correct_interface/check_obb2d_array_f32_c_correct_interface_2_1.cfg` Result[1] = `check_obb2d_array_f32` Result[2] = `c` Result[3] = `correct_interface` Result[4] = `2` Result[5] = `1` --- #### Проверка заголовка конфига (в функции `src/validator/config.hpp::validateHeader`) **Регулярка**: `.*# (.[^\\n]*)_(c|cpp)_" + testData.testType + "_(\\d+)_(\\d+).*` **Пример входных данных**: `...# check_obb2d_f32_array_c_correct_interface_2_4...` **Распарсится как**: `# (check_obb2d_f32_array)_(c)_correct_interface_(2)_(4)` Result[0] = `...# check_obb2d_f32_array_c_correct_interface_2_4...` Result[1] = `check_obb2d_f32_array` Result[2] = `c` Result[3] = `correct_interface` Result[4] = `2` Result[5] = `4` --- #### Проверка TEST_SUITE_NAME (в функции `src/validator/config.hpp::validateHeader`) **Регулярка**: `.*\\[//\\]: #TEST_SUITE_NAME=(.[^\\n]*)_(c|cpp)_" + testData.testType + ".*` **Пример входных данных**: `...[//]: #TEST_SUITE_NAME=check_obb2d_array_f32_c_correct_interface...` **Распарсится как**: `[//]: #TEST_SUITE_NAME=(check_obb2d_array_f32)_(c)_correct_interface` Result[0] = `...[//]: #TEST_SUITE_NAME=check_obb2d_array_f32_c_correct_interface...` Result[1] = `check_obb2d_f32_array` Result[2] = `c` Result[3] = `correct_interface`