@Zhihong, yes it would be incompatible if it tried to read Filters that were serialized with the current code. I'm assuming that these Filters are ephemeral and aren't stored anywhere (could be a very wrong assumption).
Otherwise, the purpose of this patch is to expose the ability to add regex flags to the comparator. E.g., if I want a case-insensitive match I could construct a Filter like:
new SingleColumnValueFilter(COLUMN_FAMILY, COLUMN_QUALIFIER, CompareOp.EQUAL,
new RegexStringComparator(Pattern.compile("foo", Pattern.CASE_INSENSITIVE | Pattern.DOTALL)));
Also, in the current code, DOTALL is added to the underlying Pattern, but doesn't appear to be applied when deserializing.