В Python я могу использовать re.findall (pattern, string) для возврата всех неперекрывающихся совпадений pattern в строке.
Например, в следующей команде SVG path:
import re
spam = "M317.0,169.7C311.1,170.5 285.7,146.8 300.7,178.57 L 321.4,175.01"
eggs = re.findall("([A-Za-z]|-?[0-9]+\.?[0-9]*(?:e-?[0-9]*)?)", spam)
print(eggs)
['M', '317.0', '169.7', 'C', '311.1', '170.5', '285.7', '146.8', '300.7', '178.5', 'L', '321.4', '175.0']
Это легкий, чистый и эффективный способ для сопоставления с шаблоном регулярных выражений такого типа в C или C ++? Обратите внимание, что я не ищу решение, которое опирается на Boost. В идеале я хотел бы свести к минимуму зависимости и сохранить код в моем коде ...