g*******s 发帖数: 2963 | 1 如果map的key都是string。 如何一次最快找出所有包含指定substring的key?
然后是扩展到找出所有match regular expression的key? |
M********5 发帖数: 715 | 2 首先是需要遍历map一遍吧,如果match不涉及regex的话,是不是find函数就够了
然后match regex的话boost里面有个regex library可以用,不知道这是不是你想要的
。。。 |
b*****u 发帖数: 648 | |
g*******s 发帖数: 2963 | 4 find是不是只能完全匹配?找sub string是不是就只能自己用iterator遍历了?
【在 M********5 的大作中提到】 : 首先是需要遍历map一遍吧,如果match不涉及regex的话,是不是find函数就够了 : 然后match regex的话boost里面有个regex library可以用,不知道这是不是你想要的 : 。。。
|
M********5 发帖数: 715 | 5 我是这么理解的,要是不遍历的话怎么做?find是完全匹配,所以我才说如果你要用
regex的话要用boost library,我不太清楚c++11里面有没有实现什么函数可以做regex
的。。。
【在 g*******s 的大作中提到】 : find是不是只能完全匹配?找sub string是不是就只能自己用iterator遍历了?
|
b******7 发帖数: 92 | 6 现有的map实现有两种,平衡查找树和哈希(分别对于map和unordered_map),理论上
hashmap仅支持完全匹配的key查询,平衡查找树除支持完全匹配的key查询外,还支持
范围查询。
但这两种实现都不能进行部分查询。所以还是老老实实迭代然后一个个匹配吧
【在 g*******s 的大作中提到】 : 如果map的key都是string。 如何一次最快找出所有包含指定substring的key? : 然后是扩展到找出所有match regular expression的key?
|
M********n 发帖数: 34 | 7 boost吧, 似乎好点,
C++11还真没regular expr的好方法 |
d**********x 发帖数: 4083 | 8 c++11已经包括了regex
不过g-- 4.7.x还没实现。。。
regex
【在 M********5 的大作中提到】 : 我是这么理解的,要是不遍历的话怎么做?find是完全匹配,所以我才说如果你要用 : regex的话要用boost library,我不太清楚c++11里面有没有实现什么函数可以做regex : 的。。。
|
M********5 发帖数: 715 | 9 还真包括了regex,看来改得多嘛。。。
不过以后就要远离c++了
【在 d**********x 的大作中提到】 : c++11已经包括了regex : 不过g-- 4.7.x还没实现。。。 : : regex
|
d**********x 发帖数: 4083 | 10 感觉c++11里面加入的内容基本应该是03年就加入的
【在 M********5 的大作中提到】 : 还真包括了regex,看来改得多嘛。。。 : 不过以后就要远离c++了
|
M********5 发帖数: 715 | 11 我们公司原来有个staff engineer说c++那个committee的效率太低了,办事特慢,c++
11原来叫c++10的,后来拖到了11年。。。他们基本上是10年更新一次。。。
【在 d**********x 的大作中提到】 : 感觉c++11里面加入的内容基本应该是03年就加入的
|