Вот сделка. Есть ли способ иметь строки с токенами в строке, основанной на нескольких регулярных выражениях?
Один пример:
Мне нужно получить все теги href, соответствующий им текст и некоторый другой текст, основанный на другом регулярном выражении.
Итак, у меня есть 3 выражения, и я хотел бы токенизировать строку и извлечь токены текста, соответствующие каждому выражению.
Я на самом деле сделал это, используя flex (не путать с Adobe), который является реализацией старого доброго lex. Лекс обеспечивает
элегантный способ сделать это, выполнив «действия» на основе выражений. Можно контролировать путь
Lex также читает файл (чтение на основе блоков / строк).
Проблема в том, что flex на самом деле создает код C / C ++, который фактически выполняет работу по токенизации. у меня есть
сделать файл, который оборачивает все эти вещи.
Мне было интересно, может ли Perl / Python каким-то образом сделать то же самое. Просто я хотел бы сделать все
Мне нравится в одном языке программирования.
Токенизация - это только одна из вещей, которые я хочу сделать в рамках своего приложения.
Кроме perl или python может ли это сделать любой язык (также функциональный)?
Я читал здесь о PLY и ANTLR ( Парсинг, где я могу узнать об этом ).
Но есть ли способ сделать это естественным образом в самом Python? простите за мое невежество, но используются ли эти инструменты в каких-либо популярных продуктах / услугах?
Спасибо.