Pattern 类

定义

正则表达式的已编译表示形式。

[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
继承
Pattern
属性
实现

注解

正则表达式的已编译表示形式。

指定为字符串的正则表达式必须首先编译为此类的实例。 然后,可以使用生成的模式创建一个 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”>\0n</th><td headers=“匹配字符octal_n”>具有八进制值的0字符 n (0 <= n <= 7)/td/tr><tr><th style=“vertical-align:top; font-weight: normal” id=“octal_nn”>\0nn/th><td headers=“matches characters octal_nn”>the character with octal value 0nn< (0 <=><< n <= 7)/td/tr><tr><th style=“vertical-align:top; font-weight: normal” id=“octal_nnn”>\0mnn/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”>\xhh/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”&#92;u>hhhh</th><td headers=“matches characters hex_hhhh”><具有十六进制   的字符;value 0xhhhh</td></tr><tr><th style=“vertical-align:top; font-weight: normal” id=“hex_h_h”>&#92;x{h...h}</th><td headers=“匹配字符hex_h_h”>具有十六进制值的0x字符 h...hjava.lang.Character#MIN_CODE_POINT Character.MIN_CODE_POINT  <= 0xh...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”&#92;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 ('&#92;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 ('&#92;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 ('&#92;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 ('&#92;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 ('&#92;u0007')</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“escape”>\e</th><td headers=“matches characters escape”The> escape character ('&#92;u001B')</td></tr><tr th style=“vertical-align:top; font-weight:normal” id=“ctrl_x”>\cx</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”>abor (simple class)</td></tr><tr><th style=“vertical-align:top; font-weight:normal” id=“negation”[^abc]></th<>td headers=“matches classes negation”>Any character exceptabor cc (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 throughZz, 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 mA 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>, eor 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“ throughza> 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&#92;u1680&#92;u180e&#92;u2000-&#92;u200a&#92;u202f&#92;u205f&#92;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&#92;u2028&#92;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{Graphth 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{XDigitPOSIX 兼容表达式</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 &#92;u000D&#92;u000A|[&#92;u000A&#92;u000B&#92;u000C&#92;u000D&#92;u0085&#92;u2028&#92;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<name></th><td headers=“matches backref back_named”无论命名捕获组“name”>匹配什么。 仅适用于 API 26 或更高版本</td></tr>

<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”(?&lt;<a href="#groupname">name</a>&gt;>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)&nbsp;</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.PatternJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

CanonEq
已过时.

Android 不支持此标志。

CaseInsensitive
已过时.

启用不区分大小写的匹配。

Comments
已过时.

允许模式中的空格和注释。

Dotall
已过时.

启用 dotall 模式。

Literal
已过时.

启用模式的文本分析。

Multiline
已过时.

启用多行模式。

UnicodeCase
已过时.

启用 Unicode 感知大小写折叠。

UnicodeCharacterClass
已过时.

Android 不支持此标志,并且始终使用 Unicode 字符类。

UnixLines
已过时.

启用 Unix 行模式。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
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)

返回指定String文字模式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)

正则表达式的已编译表示形式。

适用于