如何使用标准库(包括boost)实现简单的字符串模式匹配

How to implement simple string pattern-matching using standard libraries (including boost)

本文关键字:简单 实现 字符串 模式匹配 boost 标准 何使用 包括      更新时间:2023-10-16

我希望在一些C++代码中添加非常简单的模式匹配功能,例如,我有一个map<string,int>,并希望编写一个方法sumMatchingEntries(string pattern),该方法将对键与输入模式匹配的所有值求和。该模式将是简单的,例如,唯一的通配符将是*,并且可能是?

我相信boost支持regex,但这似乎有点过头了,那么还有其他标准库函数可以使用吗?

注意,我使用的是VC++2K8,所以没有C++03/11功能,但boost是可以的。如果regex解决方案是最好的,一个例子会很好。

VC++2008包含TR1 regexp作为功能包:http://www.codeproject.com/Articles/26285/Quick-Start-for-C-TR1-Regular-Expressions.重新发明轮子可能不值得。