7个回答
展开全部
仅仅只匹配一个字符,那没有区别。如果2个以上字符就有区别了中括号和小括兆缓号的作用是完全不同的。
[abc] 只是一个简单清猜悉的字符类,匹配其中任意一个字符答乎,或区间内字符
(a|b|c) 是分组,会返回匹配到的项
例如:(aba|abc|aca|acb) 等同 a(b[ac]|c[ab])
主要一点:两个符号的使用方法是不一样的。
[abc] 只是一个简单清猜悉的字符类,匹配其中任意一个字符答乎,或区间内字符
(a|b|c) 是分组,会返回匹配到的项
例如:(aba|abc|aca|acb) 等同 a(b[ac]|c[ab])
主要一点:两个符号的使用方法是不一样的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个字符串S,[0-9]表示有一个0到9之间的一个数字,{1,20}表示前面的那个数字至少纯拦梁要重复1次,最多20次,^:表示与字符串开始的地方相匹配,不匹配任何字符,比如:表达式“^aaa”,在匹配“xxx
aaa
xxx”,是会匹配失败,只做运有“aaa”,位于开头是才会匹配成功,如"aaa
xxx
xxx",$表示与字符串结束的地方相匹配,不匹配任何字符,比如:表达式“aaa$”,在匹配“xxx
aaa
xxx”,是会匹配失败,只有“aaa”,位于结尾是才会匹配成功,如"xxx
xxx
aaa"。
第二个字符串中,\w表示任意一个字母,数字或下划线,\W表示,匹配所有与\w不匹配的字符,\d表示0-9中的任意一个数衡培字,~,表示取反,是二进制中取反。
aaa
xxx”,是会匹配失败,只做运有“aaa”,位于开头是才会匹配成功,如"aaa
xxx
xxx",$表示与字符串结束的地方相匹配,不匹配任何字符,比如:表达式“aaa$”,在匹配“xxx
aaa
xxx”,是会匹配失败,只有“aaa”,位于结尾是才会匹配成功,如"xxx
xxx
aaa"。
第二个字符串中,\w表示任意一个字母,数字或下划线,\W表示,匹配所有与\w不匹配的字符,\d表示0-9中的任意一个数衡培字,~,表示取反,是二进制中取反。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知这样讲是否明白:
public class Test2 {
public static void main(String[] args) {
System.out.println("abc".matches("[abc]"));//[abc]表示a,b or c.注意这样写后面要加+或*,单独这样输出false
System.out.println("abc".matches("[abc]+"));//[abc]表示a,b or c,此时输禅渗肆出true
System.out.println("abab".matches("[abc]+"));//输出true,因为字符串"abab"里的元素[abc]中都有
System.out.println("abc".matches("[ab]+"));//输出false,因为字符串"abc"中有[ab]里没有的贺轿元素。
System.out.println("abc".matches("(a|b|c)"));//(a|b|c)是或的关喊庆系,输出false这样只表示一个字符。
System.out.println("abc".matches("(a|b|c){2}"));//(a|b|c)是或的关系,如果是2个字符也输出false
System.out.println("abc".matches("(a|b|c){3}"));//(a|b|c)是或的关系,现在是3个了字符,于是输出了true
}
}
public class Test2 {
public static void main(String[] args) {
System.out.println("abc".matches("[abc]"));//[abc]表示a,b or c.注意这样写后面要加+或*,单独这样输出false
System.out.println("abc".matches("[abc]+"));//[abc]表示a,b or c,此时输禅渗肆出true
System.out.println("abab".matches("[abc]+"));//输出true,因为字符串"abab"里的元素[abc]中都有
System.out.println("abc".matches("[ab]+"));//输出false,因为字符串"abc"中有[ab]里没有的贺轿元素。
System.out.println("abc".matches("(a|b|c)"));//(a|b|c)是或的关喊庆系,输出false这样只表示一个字符。
System.out.println("abc".matches("(a|b|c){2}"));//(a|b|c)是或的关系,如果是2个字符也输出false
System.out.println("abc".matches("(a|b|c){3}"));//(a|b|c)是或的关系,现在是3个了字符,于是输出了true
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这想你要这样好键子用的话是没有什么区别的!
不过用[]的好处是不一样的,它可好袜野以定个一个区间。
如:[a-z] ,[a-z|ABC] 你用|就没友喊有这样的功能!
不过用[]的好处是不一样的,它可好袜野以定个一个区间。
如:[a-z] ,[a-z|ABC] 你用|就没友喊有这样的功能!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |