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文档上的描述吗?难道我的理解有问题? 展开
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文档上的描述吗?难道我的理解有问题? 展开
2个回答
展开全部
是你理解错了
abc a? 肯定是false 了 ?代表重复0次或者1次 应该是 空 或者 a
abca a* * 重复0次或者更多次 应该是 空或者 aaaaaaaaaaaaaaaaaaaaa
abc a? 肯定是false 了 ?代表重复0次或者1次 应该是 空 或者 a
abca a* * 重复0次或者更多次 应该是 空或者 aaaaaaaaaaaaaaaaaaaaa
追问
abc a?不是把a重复了一次吗?
abca a*不是把a重复了2两次吗?
追答
abc 这个是完整的字符串 a重复了一次 这个字符串还没有完呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询