Matcher 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 Java 上執行比對作業的引擎。
[Android.Runtime.Register("java/util/regex/Matcher", DoNotGenerateAcw=true)]
public sealed class Matcher : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Util.Regex.IMatchResult
[<Android.Runtime.Register("java/util/regex/Matcher", DoNotGenerateAcw=true)>]
type Matcher = class
inherit Object
interface IMatchResult
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
藉由解譯 Pattern
,在java.lang.CharSequence字元序列上執行比對作業的引擎。
藉由叫用模式的 Pattern#matcher matcher
方法,從模式建立比對器。 建立之後,就可以使用比對器來執行三種不同類型的比對作業:
<ul>
<李>
方法 #matches matches
會嘗試比對整個輸入序列與模式。
</李>
<李>
方法 #lookingAt lookingAt
會嘗試比對輸入序列,從開頭開始,針對模式。
</李>
<李>
方法 #find find
會掃描輸入序列,尋找符合模式的下一個子序列。
</李>
</ul>
每個方法都會傳回布爾值,指出成功或失敗。 查詢比對器的狀態,即可取得成功比對的詳細資訊。
比對器會在名為 區域之輸入子集中尋找相符專案。 根據預設,區域會包含所有比對器輸入。 區域可以透過 #region(int, int) region
方法修改,並透過 #regionStart() regionStart
和 #regionEnd() regionEnd
方法查詢。 區域界限與某些模式建構互動的方式可以變更。 如需詳細資訊,請參閱 #useAnchoringBounds(boolean) useAnchoringBounds
和 #useTransparentBounds(boolean) useTransparentBounds
。
這個類別也會定義使用新字串取代相符子序列的方法,其內容可以視需要從比對結果計算。 #appendReplacement appendReplacement
和 #appendTail appendTail
方法可以搭配使用,以便將結果收集到現有的字串緩衝區或字串產生器中。 或者,更方便 #replaceAll replaceAll
的方法可用來建立字串,其中會取代輸入序列中的每個相符子序列。
比對器明確狀態包含最近成功比對的開始和結束索引。 它也包含模式中每個擷取群組所擷取之輸入子序列的開始和結束索引,以及這類子序列的總計數。 為了方便起見,也會提供方法,以字串形式傳回這些擷取的子序列。
比對器明確狀態一開始為未定義;嘗試在成功比對之前查詢其中的任何部分會導致 IllegalStateException
擲回 。 比對工具的明確狀態會由每個比對作業重新計算。
比對器隱含狀態包含輸入字元序列,以及 附加位置,一開始為零,並由方法更新 #appendReplacement appendReplacement
。
比對器可以藉由叫用其 #reset()
方法明確重設,或者,如果需要新的輸入序列,則其 #reset(java.lang.CharSequence) reset(CharSequence)
方法。 重設比對器會捨棄其明確的狀態資訊,並將附加位置設定為零。
這個類別的實例無法安全供多個並行線程使用。
已在1.4中新增。
的 java.util.regex.Matcher
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
HasAnchoringBounds |
查詢此比對器的區域界限錨定。 |
HasTransparentBounds |
查詢此比對器的區域界限透明度。 |
JniIdentityHashCode |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
JniPeerMembers |
在 Java 上執行比對作業的引擎。 |
PeerReference |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 (繼承來源 Object) |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 (繼承來源 Object) |
方法
AppendReplacement(StringBuffer, String) |
實作非終端機附加和取代步驟。 |
AppendReplacement(StringBuilder, String) |
實作非終端機附加和取代步驟。 |
AppendTail(StringBuffer) |
實作終端機 append-and-replace 步驟。 |
AppendTail(StringBuilder) |
實作終端機 append-and-replace 步驟。 |
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
Dispose() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
Dispose(Boolean) |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
End() |
傳回最後一個字元相符之後的位移。 |
End(Int32) |
傳回上一個比對作業期間指定群組所擷取之子序列的最後一個字元之後的位移。 |
End(String) |
傳回上一個比對作業期間所指定具名擷取群組所擷取之子序列的最後一個字元之後的位移。 |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
Find() |
嘗試尋找符合模式之輸入序列的下一個子序列。 |
Find(Int32) |
重設此比對器,然後嘗試尋找符合模式的輸入序列下一個子序列,從指定的索引開始。 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
Group() |
傳回與上一個比對相符的輸入子序列。 |
Group(Int32) |
傳回在上一個比對作業期間由指定群組擷取的輸入子序列。 |
Group(String) |
傳回在上一個比對作業期間由指定具名擷取群組擷取的輸入子序列。 |
GroupCount() |
傳回此比對器模式中擷取群組的數目。 |
HitEnd() |
如果搜尋引擎在此比對器所執行的最後一個比對作業中叫用輸入結尾,則傳回 true。 |
JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
LookingAt() |
嘗試比對輸入序列,從區域開頭開始,與模式相符。 |
Matches() |
嘗試比對整個區域與模式。 |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
Pattern() |
傳回這個比對器所解譯的模式。 |
QuoteReplacement(String) |
傳回指定 |
Region(Int32, Int32) |
設定此比對器區域的限制。 |
RegionEnd() |
報告此比對器區域的結束索引(獨佔)。 |
RegionStart() |
報告此比對器區域的開始索引。 |
ReplaceAll(IFunction) |
將符合模式的輸入序列的每個子序列取代為將指定取代項函式套用至對應至該子序列之比對器比對結果的結果。 |
ReplaceAll(String) |
以指定的取代字串取代符合模式的輸入序列的每個子序列。 |
ReplaceFirst(IFunction) |
將符合模式的輸入序列的第一個子序列取代為將指定取代器函式套用至對應至該子序列之比對結果的結果。 |
ReplaceFirst(String) |
以指定的取代字串取代符合模式的輸入序列第一個子序列。 |
RequireEnd() |
如果更多輸入可能會將正比對變更為負數,則傳回 true。 |
Reset() |
重設此比對器。 |
Reset(ICharSequence) |
使用新的輸入序列重設此比對器。 |
Reset(String) |
使用新的輸入序列重設此比對器。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
Start() |
傳回上一個相符項目的開始索引。 |
Start(Int32) |
傳回上一個比對作業期間指定群組所擷取之子序列的開始索引。 |
Start(String) |
傳回上一個比對作業期間所指定具名擷取群組所擷取之子序列的開始索引。 |
ToArray<T>() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
ToMatchResult() |
傳回此比對器 |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
UseAnchoringBounds(Boolean) |
設定此比對器的區域界限錨定。 |
UsePattern(Pattern) |
|
UseTransparentBounds(Boolean) |
設定此比對器的區域界限透明度。 |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IJavaPeerable.Disposed() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
在 Java 上執行比對作業的引擎。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
在 Java 上執行比對作業的引擎。 |
GetJniTypeName(IJavaPeerable) |
在 Java 上執行比對作業的引擎。 |