Java 正则表达式的问题

publicclassTest{publicstaticvoidmain(String[]args){print("abc".matches("abc"));//true... public class Test {
public static void main (String[] args) {
print ("abc".matches ("abc")); //true
print ("abc".matches("[abc]"));//false
print ("a".matches("[abc]"));//true a、b 或 c(简单类),字符串里只含有一个字符,且这个字符为a,b,c中的一个
print ("abc".matches("a?"));//false??? X? X,一次或一次也没有
print ("abca".matches("a*"));//false??? X* X,零次或多次
print ("abca".matches("a+"));//false??? X+ X,一次或多次
print ("127.0.0.1".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//true \\d{1,3},数字最少出现1次,最多3次
print ("256".matches("[0-2][0-9][0-9]"));//true
}

public static void print (Object o) {
System.out.println (o);
}
}
中间那三个连续三个false是怎么回事啊?不是符合API文档上的描述吗?难道我的理解有问题?
展开
 我来答
草名字真心难起
2015-08-20 · TA获得超过4893个赞
知道小有建树答主
回答量:3057
采纳率:0%
帮助的人:1279万
展开全部
是你理解错了
abc a? 肯定是false 了 ?代表重复0次或者1次 应该是 空 或者 a
abca a* * 重复0次或者更多次 应该是 空或者 aaaaaaaaaaaaaaaaaaaaa
追问
abc a?不是把a重复了一次吗?
abca a*不是把a重复了2两次吗?
追答
abc   这个是完整的字符串  a重复了一次 这个字符串还没有完呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友200b114
2015-08-20 · TA获得超过261个赞
知道小有建树答主
回答量:324
采纳率:66%
帮助的人:175万
展开全部
matches函数意思是全部匹配才为true;
a?只匹配abc中的a,其他两个同理
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式