^和$如何在Java正则表达式中工作

时间:2016-11-15 19:33:57

标签: java regex

我想学习Java正则表达式中^$符号的工作原理。

$结束。好的。

1:^符号是什么意思?

我在某处读过^用于启动字符串的内容,但我从Oracle Doc读取用于抽象的^,因为[^abc]表示除abc之外的任何内容

2:^$如何运作。

当我在结尾写$时,它给了我结束的匹配。 7123456789 7123456780

Pattern p = Pattern.compile("[789][0-9]{9}$");
Matcher m = p.matcher("71234567897123456780");
while(m.find()){
    System.out.println(m.group());
}

输出:7123456780

当我在开始时写^时,它会给我一个开始的匹配。 7123456789 7123456780

Pattern p = Pattern.compile("[789][0-9]{9}$");
Matcher m = p.matcher("71234567897123456780");
while(m.find()){
    System.out.println(m.group());
}

输出:7123456789

当我同时使用^$时,它没有给我输出,因为我从here读取它读取完整行,这就是为什么没有匹配,因为数字增加超过10。

我知道[789],[0-9],{9}的含义,也知道字符串匹配两次。第一次是7123456789,第二次是7123456780.但我想学习^$符号的工作原理。

有类似的问题,信息少于我的要求。 ^ and $ in Java regular expression

0 个答案:

没有答案