Matcher 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個在 Java 上執行匹配操作的引擎。
[Android.Runtime.Register("java/util/regex/Matcher", DoNotGenerateAcw=true)]
public sealed class Matcher : Java.Lang.Object, IDisposable, 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.
匹配器是透過調用圖案 Pattern#matcher matcher 的方法從模式中建立的。 建立後,匹配器可用於執行三種不同類型的匹配操作:
<UL>
<李>
此 #matches matches 方法嘗試將整個輸入序列與圖案匹配。
</李>
<李>
此 #lookingAt lookingAt 方法嘗試從起點開始,將輸入序列與模式匹配。
</李>
<李>
該 #find find 方法會掃描輸入序列,尋找下一個與該圖案相符的子序列。
</李>
</ul>
這些方法都會回傳一個布林值,表示成功或失敗。 可透過查詢配對者的狀態獲得更多成功配對的資訊。
匹配器會在其輸入的子集中尋找稱為 區域的匹配。 預設情況下,該區域包含匹配器的所有輸入。 該區域可透過 #region(int, int) region 方法修改,並透過 #regionStart() regionStart and #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 文件 java.util.regex.Matcher。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| HasAnchoringBounds |
查詢此匹配器的區域邊界錨定。 |
| HasTransparentBounds |
查詢此匹配器的區域邊界透明度。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| JniPeerMembers |
一個在 Java 上執行匹配操作的引擎。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| AppendReplacement(StringBuffer, String) |
實作非終端的附加與替換步驟。 |
| AppendReplacement(StringBuilder, String) |
實作非終端的附加與替換步驟。 |
| AppendTail(StringBuffer) |
實作終端的附加與替換步驟。 |
| AppendTail(StringBuilder) |
實作終端的附加與替換步驟。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| End() |
在最後一個字元匹配後回傳偏移量。 |
| End(Int32) |
回傳在前一匹配操作中,該群捕獲的子序列最後一個字元後的偏移量。 |
| End(String) |
回傳在前一次匹配操作中,該命名捕獲群捕獲子序列最後一個字元後的偏移量。 |
| Equals(Object) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Find() |
嘗試尋找輸入序列中下一個與該模式相符的子序列。 |
| Find(Int32) |
重置此匹配器,然後嘗試從指定索引開始尋找下一個與模式相符的輸入序列子序列。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| Group() |
回傳與前一匹配匹配的輸入子序列。 |
| Group(Int32) |
回傳該組在前一次匹配操作中擷取的輸入子序列。 |
| Group(String) |
回傳由指定命名捕獲群在前一次匹配操作中捕獲的輸入子序列。 |
| GroupCount() |
回傳此匹配器模式中捕獲群組的數量。 |
| HitEnd() |
若搜尋引擎在最後一次匹配操作中擊中輸入結束,則回傳為真。 |
| 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() |
如果有更多輸入能將正配對變為負配對,則會回傳為真。 |
| Reset() |
重置這個匹配器。 |
| Reset(ICharSequence) |
用新的輸入序列重置這個匹配器。 |
| Reset(String) |
用新的輸入序列重置這個匹配器。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| Start() |
回傳上一場比賽的起始索引。 |
| Start(Int32) |
回傳給定群組在前一次匹配操作中捕捉的子序列的起始索引。 |
| Start(String) |
回傳由指定捕獲群在前一次匹配操作中捕獲的子序列的起始索引。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToMatchResult() |
回傳該匹配器的匹配狀態為 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| UseAnchoringBounds(Boolean) |
設定此匹配器的區域界限錨定。 |
| UsePattern(Pattern) |
改變 |
| UseTransparentBounds(Boolean) |
設定此匹配器的區域界限透明度。 |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一個在 Java 上執行匹配操作的引擎。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
一個在 Java 上執行匹配操作的引擎。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個在 Java 上執行匹配操作的引擎。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |