@InterfaceAudience.Public public class RegexStringComparator extends ByteArrayComparable
CompareFilter implementations, such
as RowFilter, QualifierFilter, and ValueFilter, for
filtering based on the value of a given column. Use it to test if a given
regular expression matches a cell value in the column.
Only EQUAL or NOT_EQUAL comparisons are valid with this comparator.
For example:
ValueFilter vf = new ValueFilter(CompareOp.EQUAL,
new RegexStringComparator(
// v4 IP address
"(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3,3}" +
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(\\/[0-9]+)?" +
"|" +
// v6 IP address
"((([\\dA-Fa-f]{1,4}:){7}[\\dA-Fa-f]{1,4})(:([\\d]{1,3}.)" +
"{3}[\\d]{1,3})?)(\\/[0-9]+)?"));
Supports Pattern flags as well:
ValueFilter vf = new ValueFilter(CompareOp.EQUAL,
new RegexStringComparator("regex", Pattern.CASE_INSENSITIVE | Pattern.DOTALL));
Pattern| 限定符和类型 | 类和说明 |
|---|---|
static class |
RegexStringComparator.EngineType
Engine implementation type (default=JAVA)
|
| 构造器和说明 |
|---|
RegexStringComparator(String expr)
Constructor
Adds Pattern.DOTALL to the underlying Pattern
|
RegexStringComparator(String expr,
int flags)
Constructor
|
RegexStringComparator(String expr,
int flags,
RegexStringComparator.EngineType engine)
Constructor
|
RegexStringComparator(String expr,
RegexStringComparator.EngineType engine)
Constructor
Adds Pattern.DOTALL to the underlying Pattern
|
| 限定符和类型 | 方法和说明 |
|---|---|
int |
compareTo(byte[] value,
int offset,
int length) |
static RegexStringComparator |
parseFrom(byte[] pbBytes) |
void |
setCharset(Charset charset)
Specifies the
Charset to use to convert the row key to a String. |
byte[] |
toByteArray() |
compareTo, compareTo, getValuepublic RegexStringComparator(String expr)
expr - a valid regular expressionpublic RegexStringComparator(String expr, RegexStringComparator.EngineType engine)
expr - a valid regular expressionengine - engine implementation typepublic RegexStringComparator(String expr, int flags)
expr - a valid regular expressionflags - java.util.regex.Pattern flagspublic RegexStringComparator(String expr, int flags, RegexStringComparator.EngineType engine)
expr - a valid regular expressionflags - java.util.regex.Pattern flagsengine - engine implementation typepublic void setCharset(Charset charset)
Charset to use to convert the row key to a String.
The row key needs to be converted to a String in order to be matched against the regular expression. This method controls which charset is used to do this conversion.
If the row key is made of arbitrary bytes, the charset ISO-8859-1
is recommended.
charset - The charset to use.public int compareTo(byte[] value,
int offset,
int length)
compareTo 在类中 ByteArrayComparablepublic byte[] toByteArray()
toByteArray 在类中 ByteArrayComparablepublic static RegexStringComparator parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes - A pb serialized RegexStringComparator instanceRegexStringComparator made from bytesDeserializationExceptiontoByteArray()Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.