Pattern 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
正则表达式的已编译表示形式。
[Android.Runtime.Register("java/util/regex/Pattern", DoNotGenerateAcw=true)]
public sealed class Pattern : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/regex/Pattern", DoNotGenerateAcw=true)>]
type Pattern = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 属性
- 实现
注解
正则表达式的已编译表示形式。
指定为字符串的正则表达式必须首先编译为此类的实例。 然后,可以使用生成的模式创建一个 Matcher
对象,该对象可以匹配正则表达式的任意 java.lang.CharSequence 字符序列。 执行匹配所涉及的所有状态都驻留在匹配器中,因此许多匹配程序可以共享相同的模式。
因此,典型的调用序列
<blockquote>
Pattern p = Pattern.{@link #compile compile}("a*b");
Matcher m = p.{@link #matcher matcher}("aaaaab");
boolean b = m.{@link Matcher#matches matches}();
</blockquote>
#matches matches
此类将方法定义为在正则表达式仅使用一次时方便使用的方法。 此方法编译表达式,并在单个调用中与其匹配输入序列。 语句
<blockquote>
boolean b = Pattern.matches("a*b", "aaaaab");
</blockquote>
与上面的三个语句等效,尽管对于重复匹配,它效率较低,因为它不允许重复使用编译的模式。
此类的实例是不可变的,可以安全地供多个并发线程使用。 此类的 Matcher
实例对于此类使用不安全。
<h2>“sum”>正则表达式构造<摘要/h2>
<table class=“borderless”><caption style=“display:none”>Regular expression constructs, and what they match</caption><thead style=“text-align:left”><tr><th id=“construct></th><id=”matchs“Matchs</>th<>/tr></thead><tbody style=”text-align:left”>
<tr><th colspan=“2” style=“padding-top:20px” id=“characters”>Characters</th></tr>
<tr><th style=“vertical-align:top; font-weight: normal” id=“x”>x</th><td headers=“matches characters x”>The character x</td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“backslash”>\\
</th><td headers=“matches characters backslash”>The backslash character</td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“octal_n”>\0
n</th><td headers=“匹配字符octal_n”>具有八进制值的0
字符 n (0 <=
n <=
7)/td/tr><tr><th style=“vertical-align:top; font-weight: normal” id=“octal_nn”>\0
nn/th><td headers=“matches characters octal_nn”>the character with octal value 0
nn< (0 <=
><< n <=
7)/td/tr><tr><th style=“vertical-align:top; font-weight: normal” id=“octal_nnn”>\0
mnn/th><td headers=“matches characters octal_nnn”>the character with octal value0
mnn< (0 <=
><< m <=
3,0 nbsp;<=
n <=
7)/td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“hex_hh”>\x
hh/th><td headers=“matches characters hex_hh”>with hexadecimal value0x
hh<</td></tr<>tr><th style=“vertical-align:top; font-weight: normal” id=“hex_hhhh”\u
>hhhh</th><td headers=“matches characters hex_hhhh”><具有十六进制 的字符;value 0x
hhhh</td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“hex_h_h”>\x
{h...h}</th><td headers=“匹配字符hex_h_h”>具有十六进制值的0x
字符 h...h (java.lang.Character#MIN_CODE_POINT Character.MIN_CODE_POINT
<= 0x
h...h <= java.lang.Character#MAX_CODE_POINT Character.MAX_CODE_POINT
)</td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“unicode_name”\N{
>name/th><td headers=“matches characters unicode_name”>the character with Unicode character name 'name<}
'</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“tab”<\t
>/th><td headers=“matches characters tab”The tab“>The tabcharacter ('\u0009'
)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“newline”><\n
/th><td headers=“matches characters newline”>The newline (line feed) character ('\u000A'
)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“return”><\r
/th><td headers=“matches characters return”>The carriage-return character ('\u000D'
)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“form_feed”<>\f
/th><td headers=“matches characters form_feed”>the form-feed character ('\u000C'
)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“bell”<>\a
/th<>td headers=“matches characters bell”>The alert (bell) character ('\u0007'
)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“escape”>\e
</th><td headers=“matches characters escape”The> escape character ('\u001B'
)</td></tr><tr th style=“vertical-align:top; font-weight:normal” id=“ctrl_x”>\c
x</th<>td headers=“matches characters ctrl_x”>与 x</td></tr><对应的控制字符>
<tr><th colspan=“2” style=“padding-top:20px” id=“classes”>Character classes</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“simple”>[abc]
</th><td headers=“matches classes simple”>a
, b
or (simple class)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“negation”[^abc]
></th<>td headers=“matches classes negation”>Any character excepta
, b
or c
c
(negation)</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”range“><[a-zA-Z]
/th><td headers=”matches classes range“>a
through or throughZ
z
, inclusive (range)</td></tr><th><style=”vertical-align:top; font-weight:normal“ id=”union“[a-d[m-p]]
<>/th><td headers=”matches classes union“ throughd
,>a
or m
A
through p
: [a-dm-p]
(union)</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”交集“>[a-z&&[def]]
</th><td headers=”matches classes classes 交集“d
>, e
or f
(交集)</tr><th><style=”vertical-align:top; font-weight:normal“ id=”减法1“<[a-z&&[^bc]]
>/th><td headers=”matches classes subtraction1“>a
throughz
, except for b
andc
: [ad-z]
(减法)</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”减法2“><[a-z&&[^m-p]]
/th><td headers=”matches classes subtraction2“ throughz
,a
> and not m
through p
: [a-lq-z]
(减法)</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“predef”>Predefined character classes</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“any”>.
</th><td headers=“matchs predef any”>Any character (可能或可能不匹配行终止符)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“digit”>\d
</th><td headers=“matches predef digit”>A digit: \p{IsDigit
}</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“non_digit”>\D
</th><td headers=“matches predef non_digit”>A non-digit: [^\d]
</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“horiz_white”>\h
</th><td headers=“matches predef horiz_white”>A horizontal whitespace character: [ \t\xA0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000]
</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“non_horiz_white”\H
<>/th><td headers=”匹配 predef non_horiz_white“>非水平空格字符:<[^\h]
/td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”white“\s
<>/th><td headers=”matches predef white“>A whitespace character: \p{IsWhite_Space
}</td></tr<>tr><th style=”vertical-align:top; font-weight:normal“ id=”non_white“<\S
>/th><td headers=”matches predef non_white“A>非空格字符: [^\s]
/td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“vert_white”\v
<>/th><td headers=“matches predef vert_white”>A vertical whitespace character: [\n\x0B\f\r\x85\u2028\u2029]
</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“non_vert_white”\V
<>/th><td headers=“matches predef non_vert_white”>A non-vertical whitespace<character: [^\v]
</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“word”>\w
</th><td headers=“matches predef word”>A word character: [\p{alpha
\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}]}</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“non_word”\W
></th><td headers=“matches predef non_word“>非单词字符: [^\w]
</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“posix”><b>POSIX character classes (Unicode-aware)</b></th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“Lower”>\p{Lower
}</th><td headers=“matches posix Lower”>A lower-case 字母字符: }</td/tr><th><style=“vertical-align:top; font-weight:normal” id=“Upper”>\p{Upper
}</th><td headers=“matches posix Upper”>An upper-case alphabetic character:\p{IsLowercase
\p{IsUppercase
}</td><></tr><tr><th style=“vertical-align:top; font-weight:normal“id=”ASCII“>}/th><td headers=”matches posix ASCII“>All ASCII:[\x00-\x7F]
</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”Alpha“>\p{Alpha
}</th><td headers=”matches posix Alpha“>An alphabetic character:[\p{IsAlphabetic
]}</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”Digit“>\p{IsDigit
}</th><td headers=”matches posix Digit”<\p{ASCII
>十进制数字: \p{gc=Decimal_Number
}</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“Alnum”>\p{Alnum
}</th><td headers=“matches posix Alnum”>An alphanumeric character:[\p{Alpha
\p{Digit}]}</td></tr tr><><th style=“vertical-align:top; font-weight:normal” id=“Punct”>\p{Punct
}</th><td headers=“matches posix Punct”>Punctuation: \p{IsPunctuation
}</td></tr><tr><th style=“vertical-align:top;font-weight:normal“ id=”Graph“>}/th><td headers=”matches posix Graph“>A 可见字符: [^p{space
\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]}</td></tr<>tr><th style=”vertical-align:top; font-weight:normal“ id=”Print“\p{Print
>}</th><td headers=”matches posix Print“>A printable character: [\p{Graph
\p{Blank}&[^\p{Cntrl}]]}</td></tr tr><<><\p{Graph
th style=“vertical-align:top;font-weight:normal“ id=”Blank“>}/th><td headers=”matches posix Blank“>A space or a tab: [\p{gc=Space_Separator
\N{CHARACTER TABULATION}]}</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”Cntrl“>\p{Cntrl
}</th><td headers=”matches posix Cntrl“>A control character: \p{gc=Control
}</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”XDigit<\p{Blank
“>}/th><td headers=”matches posix XDigit“>A十六进制数字: [\p{gc=Decimal_Number
\p{IsHex_Digit}]}</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”Space“\p{Space
>}</th><td headers=”matches posix Space“>A whitespace character: \p{IsWhite_Space
}</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”PosixCompatible”><\p{XDigit
POSIX 兼容表达式</th><td headers=“matches posix PosixCompatible”>See Unicode documentation</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“java”>java.lang.Character classes (简单 java 字符类型)</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“javaLowerCase”>\p{javaLowerCase
}</th><td headers=“matches java javaLowerCase”>等效于 java.lang.Character.isLowerCase()</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“javaUpperCase”\p{javaUpperCase
>}</th><td headers=“matches java javaUpperCase”>等效于 java.lang.Character.isUpperCase()</td></tr><><th style=“vertical-align:top;font-weight:normal“ id=”javaWhitespace“>}/th><td headers=”matches java javaWhitespace“>等效于 java.lang.Character.isWhitespace()</td></tr tr>><<th style=”vertical-align:top; font-weight:normal“ id=”javaMirrored“>\p{javaMirrored
}</th><td headers=”matches java javaMirrored“>等效于 java.lang.Character.isMirrored()</td></tr<\p{javaWhitespace
>
<tr><th colspan=“2” style=“padding-top:20px” id=“unicode”>Classes for Unicode scripts, blocks, categories and binary properties</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“IsLatin”>\p{IsLatin
}</th><td headers=“matches unicode IsLatin”>A Latin script character (script)</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“InGreek”>\p{InGreek
}</th><td headers=“matches unicode InGreek”A character inGreek;>block (block)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“Lu”>\p{Lu
}</th><td headers=“matches unicode Lu”>An uppercase letter (category)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“IsAlphabetic”>\p{IsAlphabetic
}</th><td headers=“matches unicode IsAlphabetic”>An alphabetic character (binary property)</td></tr><tr><th style=“vertical-align:top;font-weight:normal“ id=”Sc“>}/th><td headers=”matches unicode Sc“>A currency symbol</td></tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”not_InGreek“>\P{InGreek
}</th><td headers=”matches unicode not_InGreek“>除希腊块(反义)</td></tr<>tr><th style=”vertical-align:top; font-weight:normal“ id=”not_uppercase”[\p{L
><\p{Sc
&&[^\p{Lu}]]}</th><td headers=“matches unicode not_uppercase”>任何字母(减法)</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“bounds”>Boundary matchers</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“begin_line”>^
</th<>td headers=“matches bounds begin_line”>line</td></tr tr><><th style=“vertical-align:top; font-weight:normal” id=“end_line”>$
</th><td headers=“matches bounds end_line”>line</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“word_boundary”>\b
</th><td headers=“matches bounds word_boundary”>A word boundary</td></tr tr>><<th style=“vertical-align:top; font-weight:normal” id=“non_word_boundary”\B
></th><td headers=“matches bounds non_word_boundary”>A non-word boundary</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“begin_input”\A
<>/th><td headers=“matches boundsbegin_input“>input/td></tr><tr th style=”vertical-align:top; font-weight:normal“ id=”end_prev_match“><\G
/th<>td headers=”matchs bounds end_prev_match“>上一个 match</td></<>tr><tr><th style=”vertical-align:top; font-weight:normal“ id=”end_input_except_term“\Z
<>/th><td headers=”matchs bounds end_input_except_term”><输入的末尾,但对于最终终止符(如果 );any</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“end_input”>\z
</th<>td headers=“matches bounds end_input”>the end of the input</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“linebreak”>Linebreak matcher</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“any_unicode_linebreak”\R
<>/th><td headers=“matches linebreak any_unicode_linebreak”>Any Unicode linebreak sequence, is equivalent to \u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]
</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“grapheme”>Unicode Extended Grapheme matcher</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“grapheme_any”>\X
</th<>td headers=“matches grapheme grapheme_any”>Any Unicode extended grapheme cluster</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“greedy”Greedy“>Greedy 限定符</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“greedy_once_or_not”>x<?
/th<>td headers=“matchesgredy greedy_once_or_not”>X, once or not at</td/tr><th><style=“vertical-align:top; font-weight:normal” id=“greedy_zero_or_more”>X<*
/th><td headers=“matchesgredy>< greedy_zero_or_more”>X, zero or more times</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“greedy_one_or_more”>X+
</th<>td headers=“matchesgredy greedy_one_or_more”X>, one 或多次</td/tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“greedy_exactly”>X n}
</th<>td headers=“matchesgredy>< greedy_exactly”>X{
, exactly n times</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“greedy_at_least”>X n,
}</th<>td headers=“matchesgredy greedy_at_least”>X{
, 至少 n times</td></tr><><th style=“vertical-align:top; font-weight:normal” id=“greedy_at_least_up_to”>X{
n,
m}
</th><td headers=“匹配贪婪greedy_at_least_up_to”>X,至少 n 但不超过 m times</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“reluc”>不情愿限定符</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“reluc_once_or_not”>X??
</th><td headers=“matches reluc reluc_once_or_not”>X, once or not at at</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“reluc_zero_or_more”>X<*?
/th<>td headers=“matches reluc reluc_zero_or_more”X>, zero or more times</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“reluc_one_or_more”>X+?
</th><td headers=“matches reluc reluc_one_or_more”>X, 一次或多次</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“reluc_exactly”>X{
n}?
</th><td headers=“matches reluc reluc_exactly”>X, exactly n times</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“reluc_at_least”>X n<,}?
/th><td headers=“matches reluc reluc_at_least”>X{
, 至少 n times</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“reluc_at_least_up_to”>X{
n,
m}?
</th><td headers=“matches reluc reluc_at_least_up_to”>X, 至少 n 但不超过 m times</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“poss”>具有性限定符</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“poss_once_or_not”>x<?+
/th><td headers=“matches poss poss_once_or_not”>X, once or not at at< all/td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“poss_zero_or_more”>X<*+
/th<>td headers=“matches poss poss_zero_or_more”X>, zero or more times</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”poss_one_or_more“>x<++
/th<>td headers=”matches poss poss_one_or_more“>X, 一次或多次</td></tr>><<th style=”vertical-align:top; font-weight:normal“ id=”poss_exactly“>X n<}+
/th><td headers=”matches poss poss_exactly“>X{
, exactly n times</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”poss_at_least“>X{
n<,}+
/th<>td headers=”matches poss poss_at_least“>X, 至少 n times</td></tr<>th><style=”vertical-align:top; font-weight:normal“ id=”poss_at_least_up_to“>X{
n,
m}+
</th<>td headers=”matches poss poss_at_least_up_to“>X, 至少n 但不超过 m times</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“logical”>Logical operators</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“concat”>XY</th><td headers=“matches logical concat”>X followed by Y</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“alternate”>X|
Y</th<>td headers=“matches logical alternates”>E or Y</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”group“>(
x<)
/th><td headers=”matches logical group“>X, as a capturing group</td></tr>
<tr><th colspan=“2” style=“padding-top:20px” id=“backref”>Back references</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“back_nth”>\
n</th<>td headers=“matches backref back_nth”>无论 n<sup th</sup>> 捕获组匹配</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“back_named”\
>k<
<tr><th colspan=“2” style=“padding-top:20px” id=“quote”>Quote</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“quote_follow”\
<>/th<>td headers=“matches quote quote_follow”>Nothing, but quotes the following character/td></tr<>th><style=“vertical-align:top; font-weight:normal” id=“quote_begin”\Q
<>/th<>td headers=“matches quote quote_begin”>Nothing, but quotes all characters< until \E
</td></tr tr><><th style=“vertical-align:top;font-weight:normal“ id=”quote_end“><\E
/th<>td headers=”matches quote quote_end“>Nothing, but ends quoteed by \Q
</td></tr><-- Metachars: !$()*+.?<>[\]^{|}-->
<tr><th colspan=“2” style=“padding-top:20px” id=“special”>Special constructs (named-capturing and non-capturing)</th></tr>
<tr><th style=“vertical-align:top; font-weight:normal” id=“named_group”(?<<a href="#groupname">name</a>>
>X)
</th<>td headers=“matches special named_group”>X,as a named-capturing group. 仅适用于 API 26 或更高版本。</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“non_capture_group”>(?:
x)
</th><td headers=“matches special non_capture_group”>X, as a non-capturing group</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“flags”>(?idmsux-idmsux)
</th> sU on - off</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“non_capture_group_flags“>(?idmsuxU-idmsuxU:
X)
</th>td headers=“matches special non_capture_group_flags”>X, 作为具有给定标志 du</a > U on - off</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“normal” id=“pos_lookahead”><c>(?=</c><i>X</i><c>)</c></th<>td headers=“matches special pos_lookahead”><i>X</i>, via zero-width positive lookahead</td></<tr tr><><th style=“vertical-align:top; font-weight:normal” id=“neg_lookahead”><c>(?!</c><i>X</i><c>)</c></th><td headers=“matches special neg_lookahead”><i>X</i>, via zero-width negative lookahead</td></tr><th><style=“vertical-align:top; font-weight:normal” id=“pos_lookbehind”><c>(?<=</c/c></<>c)</c></th<>td headers=“matches special pos_lookbehind”><i>X</i><>>, via零宽度正 lookbehind</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“neg_lookbehind”><c>(?<!</c><i>X</i><c>)</c></th><td headers=“matches special neg_lookbehind”><i>X</i>, via zero-width negative lookbehind</td></tr<>tr><th style=“vertical-align:top; font-weight:normal” id=“indep_non_capture_group”><c>(?></c><i>X</i><c>)</c></th><td headers=“匹配特殊indep_non_capture_group”><i>X</i>,作为独立的非捕获组</td></tr>
</tbody></table>
<hr>
<h2>“bs”>反斜杠、转义和引用</h2>
反斜杠字符 ('\'
) 用于引入上表中定义的转义构造,以及引用将解释为未转义构造的字符。 因此,表达式 \\
匹配单个反斜杠,并 \{
匹配左大括号。
在不表示转义构造的任何字母字符之前使用反斜杠是错误的;这些为正则表达式语言的未来扩展保留。 反斜杠可以在非字母字符之前使用,而不考虑该字符是否是未转义构造的一部分。
引用 <>Java 语言规范</引用>作为 Unicode 转义(第 { 节 { ) 解释为 Java 源代码中的字符串文本中的反斜杠
在 1.4 中添加。
适用于 . 的 java.util.regex.Pattern
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
字段
CanonEq |
已过时.
Android 不支持此标志。 |
CaseInsensitive |
已过时.
启用不区分大小写的匹配。 |
Comments |
已过时.
允许模式中的空格和注释。 |
Dotall |
已过时.
启用 dotall 模式。 |
Literal |
已过时.
启用模式的文本分析。 |
Multiline |
已过时.
启用多行模式。 |
UnicodeCase |
已过时.
启用 Unicode 感知大小写折叠。 |
UnicodeCharacterClass |
已过时.
Android 不支持此标志,并且始终使用 Unicode 字符类。 |
UnixLines |
已过时.
启用 Unix 行模式。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
正则表达式的已编译表示形式。 (继承自 Object) |
JniPeerMembers |
正则表达式的已编译表示形式。 |
PeerReference |
正则表达式的已编译表示形式。 (继承自 Object) |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
方法
AsMatchPredicate() |
创建一个谓词,用于测试此模式是否与给定输入字符串匹配。 |
AsPredicate() |
创建一个谓词,用于测试此模式是否在给定的输入字符串中找到。 |
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Compile(String) |
将给定正则表达式编译为模式。 |
Compile(String, RegexOptions) |
将给定正则表达式编译为具有给定标志的模式。 |
Dispose() |
正则表达式的已编译表示形式。 (继承自 Object) |
Dispose(Boolean) |
正则表达式的已编译表示形式。 (继承自 Object) |
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
Flags() |
返回此模式的匹配标志。 |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
InvokePattern() |
返回从中编译此模式的正则表达式。 |
JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Matcher(ICharSequence) |
创建一个匹配程序,它将与此模式匹配给定输入。 |
Matcher(String) |
创建一个匹配程序,它将与此模式匹配给定输入。 |
Matches(String, ICharSequence) |
编译给定正则表达式,并尝试匹配给定的输入。 |
Matches(String, String) |
编译给定正则表达式,并尝试匹配给定的输入。 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
Quote(String) |
返回指定 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
Split(ICharSequence) |
围绕此模式的匹配项拆分给定的输入序列。 |
Split(ICharSequence, Int32) |
围绕此模式的匹配项拆分给定的输入序列。 |
Split(String) |
围绕此模式的匹配项拆分给定的输入序列。 |
Split(String, Int32) |
围绕此模式的匹配项拆分给定的输入序列。 |
ToArray<T>() |
正则表达式的已编译表示形式。 (继承自 Object) |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
正则表达式的已编译表示形式。 (继承自 Object) |
Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.Finalized() |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.JniManagedPeerState |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
正则表达式的已编译表示形式。 (继承自 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
正则表达式的已编译表示形式。 (继承自 Object) |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
正则表达式的已编译表示形式。 |
GetJniTypeName(IJavaPeerable) |
正则表达式的已编译表示形式。 |