Как реализовать простое сопоставление с образцом строки с использованием стандартных библиотек (включая boost)

Я хочу добавить очень простую функцию сопоставления с образцом в некоторый код C ++, например у меня есть map<string,int> и хочу написать метод sumMatchingEntries(string pattern) который будет суммировать все значения, где ключ соответствует шаблону ввода. Шаблон будет простым, например единственные подстановочные знаки будут * и, возможно, ?,

Я полагаю, что boost имеет поддержку регулярных выражений, но это кажется немного излишним, так есть ли какие-либо другие стандартные библиотечные функции, которые можно использовать?

Обратите внимание, что я использую VC ++ 2K8, так что никаких функций C ++ 03/11 нет, но повышение в порядке. Если бы регулярное выражение было лучшим, пример был бы отличным.

1

Решение

VC ++ 2008 включает регулярные выражения TR1 в качестве пакета функций: http://www.codeproject.com/Articles/26285/Quick-Start-for-C-TR1-Regular-Expressions. Переизобретать колесо, вероятно, не стоит.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]