Shift-And的一个问题
使用扩展的Shift-And算法匹配带通配符的字符串时,只能获得成功匹配的结束位置,无法获得成功匹配的长度,请问用什么方法可以获得成功匹配的长度,同时具有较高的性能?
问题解决了,在查找的第一步:D=(((D<<1)|1)&B[pos])|(D&S[pos])后
当D=1时,这时匹配的字符正好是匹配串P的第一个字符,这时的pos就是匹配的开始位置,可以保存在一个变量中,是否成功匹配还要看后续的匹配情况。