Matcher方法说明

boolean matches()

正则能完全匹配整个字符串,才返回true

Pattern p = Pattern.compile("abc");
Matcher m = p.matcher("abcd");  //false

boolean lookingAt()

只有匹配到的字符串在最前面才会返回true

Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher("22bb23");
boolean match = m.lookingAt();//true
m = p.matcher("bb2233");
match= m.lookingAt();//false

 

int start()

匹配到的字符串在原目标字符串中的位置开始位置 start<=x

 

int end()

匹配的字符串的最后一个字符在原目标字符串中的索引位置. x<end;

返回匹配到的子字符串

 

int start(int i) int end(int i) int group(int i)

专用于分组操作, 分组中的第i个的 start, end ,group

 

String replaceAll(Stringreplacement)

把匹配到的字符串替换,和String的replaceAll()一样;

 

String replaceFirst(Stringreplacement):

将目标字符串里第一个与既有模式相匹配的子串替换为指定的字符串。

 

Matcher appendReplacement(StringBuffer sb, String replacement)

MatcherStringBufferappendTail(StringBuffer sb)

允许直接将匹配的字符串保存在另一个StringBuffer中并且是渐进式匹配,并不是只匹配一次或匹配全部,而appendTail则是将未匹配到的余下的字符串添加到StringBuffer中。

@Test
public void test1(){
    String s = "get-element-by-id";
    Pattern p = Pattern.compile("-(.)");
    Matcher m = p.matcher(s);
    StringBuffer sb = new StringBuffer();
    while (m.find()) {
        m.appendReplacement(sb, m.group(1).toUpperCase());
    }
    m.appendTail(sb);
    System.out.println(sb.toString());//getElementById
}

 

Matcher reset()

重设该Matcher对象

 

Matcher reset(CharSequence input)

重设该Matcher对象并且指定一个新的目标字符串。

 

Matcher region(int start, int end):

设置此匹配器的区域限制。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: `matcher.appendTail()` 是 Java 中 `Matcher` 类的一个方法,它将当前匹配的子字符串和其后面的字符串添加到一个 `StringBuffer` 对象中,并返回最终的字符串。这个方法通常与 `Matcher.replaceAll()` 方法一起使用,用于替换匹配的字符串。具体用法可以参考 Java 官方文档中的说明:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html#appendTail-java.lang.StringBuffer- ### 回答2: matcher.appendtail() 是 Java 中 Matcher 类的一个方法,用于将匹配操作的剩余部分追加到一个字符串缓冲区中。 在 Java 中,Matcher 类用于对字符串进行匹配操作。当我们使用 Matcher 类的 find() 方法找到一个匹配项之后,通常会使用 appendReplacement() 方法将匹配之前的部分替换为新的字符串。而 appendtail() 方法则正好相反,它用于将剩余的未匹配部分追加到一个字符串缓冲区中,而不进行替换操作。 例如,假设我们有一个字符串 "Hello, World!",我们想要提取其中的单词并打印出来。我们可以使用以下代码来达到目的: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String text = "Hello, World!"; Pattern pattern = Pattern.compile("\\w+"); // 匹配一个或多个字母或数字 Matcher matcher = pattern.matcher(text); StringBuilder result = new StringBuilder(); while (matcher.find()) { result.append(matcher.group()).append(" "); // 将匹配的单词追加到 result 中 } matcher.appendTail(result); // 将剩余的未匹配部分追加到 result 中 System.out.println(result.toString()); // 打印提取到的单词 } } ``` 运行这段代码,我们会得到输出结果 "Hello World ",其中每个单词用空格隔开。可以看到,matcher.appendtail() 方法将未匹配部分的 "!" 追加到了 result 字符串缓冲区的末尾。 总结起来,matcher.appendtail() 方法是用于将 Matcher 对象中剩余的未匹配部分追加到一个字符串缓冲区中的方法。 ### 回答3: matcher.appendTail()是Java正则表达式中的一个方法,它用于将剩余的字符串追加到StringBuffer对象中。 在使用Java正则表达式进行匹配时,通常会使用到Matcher对象。Matcher对象提供了一系列的方法来进行匹配和操作字符串。其中,appendTail()方法就是其中之一。 当我们在使用Matcher对象进行匹配时,可能只需要获取到部分匹配的结果,而不需要全部的匹配结果。此时,matcher.appendTail()方法就可以帮助我们将剩余的字符串追加到一个StringBuffer对象中。 具体的使用方法是:首先创建一个StringBuffer对象,然后使用matcher.appendTail()方法将剩余的字符串追加到该对象中。最后,通过调用StringBuffer对象的toString()方法将追加的结果转换为一个字符串。 该方法的主要作用是在进行匹配操作后,将未匹配的部分保存到一个StringBuffer对象中,以便后续的操作。这样可以避免丢失未匹配的部分。 总之,matcher.appendTail()方法是在使用Matcher对象进行匹配时的一个非常有用的方法,可以帮助我们将未匹配的部分保存起来,以便后续的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一本郑经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值