Тестирование и проверка регулярных выражений
Понадобилось мне тут протестировать фильтр на имена блоков. Чтоб жизнь медом не казалась, решил работать через регулярные выражения.
Правила фильтрации в общем-то просты: если имя блока блок не начинается на "_", "*", "A$C" (на английской раскладке) и не содержит символа "|" - то имя "нормальное".
Написать dll для ACAD несложно, сложно ее тестировать. Консольное приложение немного проще тестировать, но на каждый чих что-то переделывать - дануна!
Чуть-чуть напрягаю мозг, и вспоминаю, что в Notepad++ есть поиск и замена с использованием именно регулярных выражений! Бинго! То что надо!
Тупо создаем новый файл, в него - перечень строк типа
1 2 3 4 5 6 7 8 9 | *Model_Space* A$C321654, A$CFFE6665, _ArchTick, qwer|asd, ф, 3, #4, #Ы |
и начинаем "подгонять" регулярку. Потому что "суха, мой друг, теория всегда" - а работать приходится в реальных условиях.
2 минуты экспериментов, рождается маска
1 | ^((A\$C)|(\*)|((.+)\|))(.+)$ |
, которую и внедряю в C# - красота! Быстро, дешево и сердито
Теперь, наверное, все регулярки именно в Notepad++ и буду тестировать