Тестирование и проверка регулярных выражений

Понадобилось мне тут протестировать фильтр на имена блоков. Чтоб жизнь медом не казалась, решил работать через регулярные выражения.

Правила фильтрации в общем-то просты: если имя блока блок не начинается на "_", "*", "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++ и буду тестировать ;)

Размещено в .NET, AutoCAD · Метки: , ,



Поделитесь своим мнением


Я не робот.