比如我有一個20131213182734_1111113211_3623010004_3600001002_92233706494375782220000我想用正則表達式找出第一個"_"和第二個"_",之間,是否有匹配1132的數據。我使用rowFilter和RegexStringComparator組合查詢regexStr ="\\d+_.*?"+key+".*?[_\\d+][3]?";regex = new RegexStringComparator(regexStr);rowFilter = new RowFilter(CompareOp.EQUAL ,regex);keyFilter.addFilter(rowFilter);其中無法完全匹配1111113211關鍵字。但是我試過該正則表達式,是沒有問題的。難道hbase的RegexStringComparator不完全和java的表達式一樣?比如我的javaString s ="20131213182734_1111113211_3623010004_3600001002_92233706494375782220000";String regex ="\\d+_.*?1111113211.*?[_\\d+][3]?";System.out.println(s.matches(regex));這樣是可以通過的.但是放到hbase的RegexStringComparator就差不出來了。
為什么放到hbase的RegexStringComparator就差不出來了?
慕蓋茨4494581
2022-07-03 14:10:42