Hbase RegexStringComparator过滤器提供的行数超出预期

时间:2013-10-07 17:30:01

标签: regex hadoop hbase

我有一个带有几个RegexStringComparator过滤器的FilterList。当正则表达式字符串类似于.*15.0.0时,我遇到了问题。这将选择我不感兴趣的xxx15.0等行。我认为这是因为xxx15.0实际上充当xxx15.0.*进行匹配。在hbase中有什么方法吗?

1 个答案:

答案 0 :(得分:1)

根据您的评论,您似乎需要指定字符串的终止方式。你没有真正提供足够的信息,所以我会给你你的选择,你可以选择适合你情况的那个。

如果版本字符串出现在另一个字符串中,例如shockwave:15.0 installed或类似字符串,那么您真正想要的是“匹配字符串shockwave:15.0,后面没有句点”。你可以这样做:

shockwave:15\.0[^.]

如果字符串出现在一行的末尾,您可以只指定行尾锚点:

shockwave:15\.0$

如果它可以(在行的中间或末尾),你可以将两者结合起来:

shockwave:15\.0($|[^.])

这应该包括所有案件......