Здравствуйте, Аноним, Вы писали:
А>Никто не находил хороший регэксп для парсинга C#?
А>Конкретно интересует разбор кода одного-единственного класса на методы, но со всеми потрохами, в т.ч. вложенными классами. Написал свой, но не уверен в качестве, лучше всего бы какой-нибудь активно используемый.
Не ожидал, что такой невинный вопрос вызовет такую бурю смеха.
Ну, вот такой регэксп успешно ищет все атрибуты:
\[\s*({0}|{0}Attribute)\s*\(\s*"[^"]*"\s*\)\s*\]
Тип атрибута (короткое имя) подставляется вместо {0}. Аналогичным образом, я написал регэксп посложнее, в который передаю все типы (они известны заранее), и который вычленяет методы из кода класса. Но он работает на более-менее простом коде, а все заморочки C#, боюсь, не учитывает. Вот я и подумал, что вместо шлифовки его на тоннах тестов лучше поискать отлаженный.