Most visited

Recently visited

Added in API level 24

UnicodeMatcher

public interface UnicodeMatcher

android.icu.text.UnicodeMatcher
Known Indirect Subclasses


UnicodeMatcher定义了可以匹配可替换字符串中字符范围的对象的协议。

Summary

Constants

char ETHER

索引为i的字符,其中i <contextStart || i> = contextLimit,是ETHER。

int U_MATCH

matches()返回的 matches()表示文本与此匹配器之间的完全匹配。

int U_MISMATCH

matches()返回的 matches()表示文本与此匹配器之间不匹配。

int U_PARTIAL_MATCH

matches()返回的 matches()表示文本与此匹配器之间的部分匹配。

Public methods

abstract void addMatchSetTo(UnicodeSet toUnionTo)

将该对象可能匹配的所有字符集合到给定集合中。

abstract int matches(Replaceable text, int[] offset, int limit, boolean incremental)

返回UMatchDegree值,该值指示给定文本在给定偏移处的匹配程度。

abstract boolean matchesIndexValue(int v)

如果此匹配器将在前向方向(限制>偏移量)与偏移量处的字符c(其中c&0xFF == v)匹配,则返回TRUE。

abstract String toPattern(boolean escapeUnprintable)

返回此匹配器的字符串表示形式。

Constants

ETHER

Added in API level 24
char ETHER

索引为i的字符,其中i <contextStart || i> = contextLimit,是ETHER。 这允许通过规则和上下文之外的文本的统一码集显式匹配。 用传统术语来说,这允许锚定在开始和/或结束。

常量值:65535(0x0000ffff)

U_MATCH

Added in API level 24
int U_MATCH

matches()返回的matches()表示文本与此匹配器之间的完全匹配。 对于增量变长匹配,如果给定文本匹配,则返回该值,并且已知附加字符不会改变匹配范围。

常量值:2(0x00000002)

U_MISMATCH

Added in API level 24
int U_MISMATCH

matches()返回的matches()表示文本与此匹配器之间不匹配。 文本包含不匹配的字符,或者文本不包含非增量匹配的所有所需字符。

常量值:0(0x00000000)

U_PARTIAL_MATCH

Added in API level 24
int U_PARTIAL_MATCH

matches()返回的matches()表示文本与此匹配器之间的部分匹配。 该值仅用于增量匹配操作。 文本中的所有字符都匹配,但完整匹配需要更多字符。 或者,对于可变长度匹配器,文本中的所有字符都匹配,并且如果更多字符在极限处提供,则它们也可能匹配。

常数值:1(0x00000001)

Public methods

addMatchSetTo

Added in API level 24
void addMatchSetTo (UnicodeSet toUnionTo)

将该对象可能匹配的所有字符集合到给定集合中。

Parameters
toUnionTo UnicodeSet: the set into which to union the source characters

matches

Added in API level 24
int matches (Replaceable text, 
                int[] offset, 
                int limit, 
                boolean incremental)

返回UMatchDegree值,该值指示给定文本在给定偏移处的匹配程度。 零个,一个或多个字符可以匹配。 正向匹配由限制>偏移量指示。 从偏移向前到限制-1的字符将被视为匹配。 相反方向的匹配由极限<偏移量指示。 从偏移量向后到极限+ 1的字符将被视为匹配。 如果limit == offset,则唯一可能的匹配是零字符匹配(如果需要,可以实现哪个子类)。 如果返回U_MATCH,那么作为副作用,将offset参数提前到匹配子字符串的限制。 在前进方向上,这将是最后一个匹配字符的索引加1。 在相反的方向上,这将是最后一个匹配字符的索引减一。

Parameters
text Replaceable: the text to be matched
offset int: on input, the index into text at which to begin matching. On output, the limit of the matched text. The number of matched characters is the output value of offset minus the input value. Offset should always point to the HIGH SURROGATE (leading code unit) of a pair of surrogates, both on entry and upon return.
limit int: the limit index of text to be matched. Greater than offset for a forward direction match, less than offset for a backward direction match. The last character to be considered for matching will be text.charAt(limit-1) in the forward direction or text.charAt(limit+1) in the backward direction.
incremental boolean: if TRUE, then assume further characters may be inserted at limit and check for partial matching. Otherwise assume the text as given is complete.
Returns
int a match degree value indicating a full match, a partial match, or a mismatch. If incremental is FALSE then U_PARTIAL_MATCH should never be returned.

matchesIndexValue

Added in API level 24
boolean matchesIndexValue (int v)

如果此匹配器将在前向方向(限制>偏移量)与偏移量处的字符c(其中c&0xFF == v)匹配,则返回TRUE。 这被RuleBasedTransliterator用于索引。

注意:为了避免签名的复杂性(字节转换为-128..127范围内的整数),该API使用int,即使值限制为8位。

Parameters
v int
Returns
boolean

toPattern

Added in API level 24
String toPattern (boolean escapeUnprintable)

返回此匹配器的字符串表示形式。 如果调用这个函数的结果被传递给适当的解析器,它将产生另一个等于这个的匹配器。

Parameters
escapeUnprintable boolean: if TRUE then convert unprintable character to their hex escape representations, \\uxxxx or \\Uxxxxxxxx. Unprintable characters are those other than U+000A, U+0020..U+007E.
Returns
String

Hooray!