java的matcher方法,Matcher 的方法
# Matcher 的方法
本節介紹了 Matcher 類的一些其他有用的方法。為了方便起見,下列方法根據功能進行分組。
# 索引方法
索引方法提供了有用的索引值,它們精確地顯示了輸入字符串中匹配的位置: public int start():返回上一個匹配的起始索引。
public int start(int group):返回上次匹配操作期間給定組捕獲的子序列的起始索引。
public int end():返回最后一個字符匹配后的偏移量。
public int end(int group):返回在上一次匹配操作期間由給定組捕獲的子序列的最后一個字符之后的偏移量。
# 檢查方法 public boolean lookingAt():嘗試將輸入序列從區域開頭開始與模式相匹配。
public boolean find():嘗試找到匹配模式的輸入序列的下一個子序列。
public boolean find(int start):重置此匹配器,然后嘗試從指定的索引開始找到與模式匹配的輸入序列的下一個子序列。
public boolean matches():嘗試將整個區域與模式進行匹配。
# 替換方法
替換方法是替換輸入字符串中的文本的有用方法。. public Matcher appendReplacement(StringBuffer sb, String replacement):執行非終端附加和替換步驟。
public StringBuffer appendTail(StringBuffer sb):實現終端附加和替換步驟。
public String replaceAll(String replacement):將與模式匹配的輸入序列的每個子序列替換為給定的替換字符串。
public String replaceFirst(String replacement):將與模式匹配的輸入序列的第一個子序列替換為給定的替換字符串。
public static String quoteReplacement(String s):返回 String 指定的文字替換 String。該方法產生一個在類的方法中 String 作為文字替換 s 的 appendReplacement 方法 Matcher。所產生的字符串 s 將作為字面序列處理。斜杠('\')和美元符號('$')將沒有特殊意義。
# 使用 start 和 end 方法
下面的例子中將計算輸入字符串中出現 “dog” 一詞的次數。
您可以看到,此示例使用字邊界來確保字母 "d" "o" "g" 不僅僅是長字詞中的子字符串。在輸入字符串中發生匹配的地方,
它還提供了一些有用的信息。該 start 方法返回給定組在先前匹配操作中捕獲的子序列的開始索引,并 end 返回匹配的最后一個字符的索引。
# 使用 matches 和 lookingAt 方法
matches 和 lookingAt 方法都嘗試將輸入序列與模式進行匹配。然而,差異在于,matches 要求整個輸入序列匹配,
lookingAt 而不需要。兩種方法始終從輸入字符串的開頭開始。下面是示例
# 使用 replaceFirst(String) and replaceAll(String)
在 replaceFirst 與 replaceAll 方法替換給定的正則表達式匹配的文本。按照他們的名字顯示,replaceFirst 替換第一次出現,replaceAll 替換所有的事件。
在第一個版本中,所有出現的代碼 dog 都被替換 cat。但為什么要停在這里?而不是替換一個簡單的文字 dog,
您可以替換匹配任何正則表達式的文本。該方法的 API 指出,“給定正則表達式 a*b,輸入aabfooaabfooabfoob 和替換字符串 -,
在該表達式的匹配器上調用此方法將產生字符串 -foo-foo-foo-。
鞏固下量詞的知識:a*b 表示 ab 或則 b 都符合條件,但是是貪婪量詞,會出現長度零匹配的結果。所以就出現了上面的輸出效果
# 使用 appendReplacement(StringBuffer,String) and appendTail(StringBuffer)
Matcher 類還提供 appendReplacement 和 appendTail 文本替換方法。使用這兩種方法來實現與之相同效果的 replaceAll
# 與 java.lang.String 等效的方法
為了方便起見,String 該類也模仿了幾種 Matcher 方法: public String replaceFirst(String regex, String replacement):用給定的替換替換與給定正則表達式匹配的此字符串的第一個子字符串。這種形式的這種方法的調用產生與表達式完全相同的結果 str.replaceFirst(regex, repl) 和 Pattern.compile(regex).matcher(str).replaceFirst(repl)
public String replaceAll(String regex, String replacement):用給定的替換替換與給定正則表達式匹配的此字符串的每個子字符串。這種形式的這種方法的調用產生與表達式完全相同的結果 str.replaceAll(regex, repl) 和 Pattern.compile(regex).matcher(str).replaceAll(repl)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java的matcher方法,Matcher 的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 会产生php7内存泄露,为什么 PHP
- 下一篇: iis php配置内部错误,iis 50