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