我想学习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