【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/132571263
出自【进步*于辰的博客】
注:依赖类:Pattern。
文章目录
- 1、概述
- 2、方法摘要
- 2.1 Matcher appendReplacement(StringBuffer sb, String replacement)
- 2.2 StringBuffer appendTail(StringBuffer sb)
- 2.3 int end()
- 2.4 int end(int group)
- 2.5 boolean find()
- 2.5 boolean find(int start)
- 2.6 String group()
- 2.7 String group(int group)
- 2.8 int groupCount()
- 2.9 boolean hasAnchoringBounds()
- 2.10 boolean hasTransparentBounds()
- 2.11 boolean hitEnd()
- 2.12 boolean lookingAt()
- 2.13 boolean matches()
- 2.14 Pattern pattern()
- 2.15 static String quoteReplacement(String s)
- 2.16 Matcher region(int start, int end)
- 2.17 int regionEnd()
- 2.18 int regionStart()
- 2.19 String replaceAll(String replacement)
- 2.20 String replaceFirst(String replacement)
- 2.21 boolean requireEnd()
- 2.22 Matcher reset()
- 2.23 Matcher reset(CharSequence input)
- 2.24 int start()
- 2.25 int start(int group)
- 2.26 MatchResult toMatchResult()
- 2.27 String toString()
- 2.28 Matcher useAnchoringBounds(boolean b)
- 2.29 Matcher usePattern(Pattern newPattern)
- 2.30 Matcher useTransparentBounds(boolean b)
1、概述
继承关系:
- java.lang.Object
- java.util.regex.Matcher
所有已实现的接口:
MatchResult
public final class Matcher extends Object implements MatchResult
通过解释 Pattern 对 字符序列 执行匹配操作的引擎。
通过调用模式的 matcher()
从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
matches()
尝试将整个输入序列与该模式匹配。
lookingAt()
尝试将输入序列从头开始与该模式匹配。
find()
扫描输入序列以查找与该模式匹配的下一个子序列。
每个方法都返回一个表示成功或失败的布尔值。通过查询匹配器的状态可以获取关于成功匹配的更多信息。
匹配器在其输入的子集(称为
区域
\color{green}{区域}
区域)中查找匹配项。默认情况下,此区域包含全部的匹配器输入。可通过 region()
修改区域,通过 regionStart()
和 regionEnd()
查询区域。区域边界与某些模式构造交互的方式是可以更改的。有关此内容更多的信息,请参阅 useAnchoringBounds()
和 useTransparentBounds()
。
此类还定义使用新字符串替换匹配子序列的方法,需要时,可以从匹配结果计算出新字符串的内容。可以先后使用 appendReplacement()
和 appendTail()
将结果收集到现有的字符串缓冲区,或者使用更加便捷的 replaceAll()
创建一个可以在其中替换输入序列中每个匹配子序列的字符串。
匹配器的显式状态包括最近成功匹配的开始和结束索引。它还包括模式中每个捕获组捕获的输入子序列的开始和结束索引以及该子序列的总数。出于方便的考虑,还提供了以字符串的形式返回这些已捕获子序列的方法。
匹配器的显式状态最初是未定义的;在成功匹配导致 IllegalStateException 抛出之前尝试查询其中的任何部分。每个匹配操作都将重新计算匹配器的显式状态。
匹配器的隐式状态包括输入字符序列和追加位置,追加位置最初是0
,然后由 appendReplacement()
更新。
可以通过调用匹配器的 reset()
来显式重置匹配器,如果需要新输入序列,则调用其 reset(CharSequence)
。重置匹配器将放弃其显式状态信息并将追加位置设置为零。
此类的实例用于多个并发线程是不安全的。
从以下版本开始:
1.4
2、方法摘要
2.1 Matcher appendReplacement(StringBuffer sb, String replacement)
实现非终端追加和替换步骤。
2.2 StringBuffer appendTail(StringBuffer sb)
实现终端追加和替换步骤。
2.3 int end()
返回最后匹配字符之后的偏移量。
2.4 int end(int group)
返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量。
2.5 boolean find()
尝试查找与该模式匹配的输入序列的下一个子序列。
2.5 boolean find(int start)
重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
2.6 String group()
返回由以前匹配操作所匹配的输入子序列。
2.7 String group(int group)
返回在以前匹配操作期间由给定组捕获的输入子序列。
2.8 int groupCount()
返回此匹配器模式中的捕获组数。
2.9 boolean hasAnchoringBounds()
查询此匹配器区域界限的定位。
2.10 boolean hasTransparentBounds()
查询此匹配器区域边界的透明度。
2.11 boolean hitEnd()
如果匹配器执行的最后匹配操作中搜索引擎遇到输入结尾,则返回 true。
2.12 boolean lookingAt()
尝试将从区域开头开始的输入序列与该模式匹配。
2.13 boolean matches()
尝试将整个区域与模式匹配。
2.14 Pattern pattern()
返回由此匹配器解释的模式。
2.15 static String quoteReplacement(String s)
返回指定 String 的字面值替换 String。
2.16 Matcher region(int start, int end)
设置此匹配器的区域限制。
2.17 int regionEnd()
报告此匹配器区域的结束索引(不包括)。
2.18 int regionStart()
报告此匹配器区域的开始索引。
2.19 String replaceAll(String replacement)
替换模式与给定替换字符串相匹配的输入序列的每个子序列。
2.20 String replaceFirst(String replacement)
替换模式与给定替换字符串匹配的输入序列的第一个子序列。
2.21 boolean requireEnd()
如果很多输入都可以将正匹配更改为负匹配,则返回 true。
2.22 Matcher reset()
重置匹配器。
2.23 Matcher reset(CharSequence input)
重置此具有新输入序列的匹配器。
2.24 int start()
返回以前匹配的初始索引。
2.25 int start(int group)
返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引。
2.26 MatchResult toMatchResult()
作为 MatchResult 返回此匹配器的匹配状态。
2.27 String toString()
返回匹配器的字符串表示形式。
2.28 Matcher useAnchoringBounds(boolean b)
设置匹配器区域界限的定位。
2.29 Matcher usePattern(Pattern newPattern)
更改此 Matcher 用于查找匹配项的 Pattern。
2.30 Matcher useTransparentBounds(boolean b)
设置此匹配器区域边界的透明度。
本文暂缓更新。