Несмотря на то, что Regex - это путь, для простых вещей я написал анализатор строк .В некотором смысле, это (неполная) обратная операция операции форматирования строки с PEP 3101 .Это очень удобно, потому что это означает, что вам не нужно изучать другой способ указания строк.
Например:
>>> 'The answer is {:d}'.format(42)
The answer is 42
Парсер выполняет обратное действие:
>>> Parser('The answer is {:d}')('The answer is 42')
42
Для вашего случая, если вы хотите использовать int как вывод
>>> url = 'http://example.com/variable/controller/id32434242423423234?param1=321¶m2=4324342'
>>> fmt = 'http://example.com/variable/controller/id{:d}?param1=321¶m2=4324342'
>>> Parser(fmt)(url)
32434242423423234
Если вам нужна строка:
>>> fmt = 'http://example.com/variable/controller/id{:s}?param1=321¶m2=4324342'
>>> Parser(fmt)(url)
32434242423423234
Если вы хотите захватить больше вещей в dict:
>>> fmt = 'http://example.com/variable/controller/id{id:s}?param1={param1:s}¶m2={param2:s}'
>>> Parser(fmt)(url)
{'id': '32434242423423234', 'param1': '321', 'param2': '4324342'}
или в кортеже:
Если вы хотите захватить больше вещей в диктовке:
>>> fmt = 'http://example.com/variable/controller/id{:s}?param1={:s}¶m2={:s}'
>>> Parser(fmt)(url)
('32434242423423234', '321', '4324342')
Попробуйте, он размещен здесь