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

Кто-нибудь (сталкивался / работал над) инструментом, дающим подсказки о непревзойденных регулярных выражениях с предоставленным грамматиком? Т.е. представьте, что часть регулярного выражения сопоставлена ​​с некоторым токеном, но последний не выполнен:

(?P<name>[a-zA-Z])-(?P<number>\d+)_blah

Допустим, нам удалось найти имя, но перед "_" (например, "foo-123Z_blah") или "_blah" не было совпадения (например, "foo-123_Zblah").

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

Я помню, что читал, что Antlr был довольно хорош в обращении своей процедуры синтаксического анализа, чтобы предоставлять подсказки для неправильных операторов языка в соответствии с предоставленным определением грамматики. Есть ли что-нибудь легковесное, предпочтительно в Python, что-то подобное?

Спасибо!

1 ответ

Вы должны проверить http://www.regexbuddy.com/ для отладки ваших регулярных выражений. Это что-то вроде IDE для регулярных выражений и имеет полную или общую библиотеку регулярных выражений, справку в реальном времени по составлению регулярных выражений, а также инструменты тестирования / отладки.

К сожалению, это не бесплатно, но стоит небольшого количества, которое они взимают. Инструмент отладки довольно хорош, я уверен, что он вам поможет. Он показывает, какие компоненты соответствуют строке, когда происходит возврат, какие символы и т. Д.

Это отличное программное обеспечение, очень рекомендуется!

Другие вопросы по тегам