
在java中正则表达式所对应的类是pattern class,所在的包是Regex。
本质上使用与指定匹配或者筛选规则的一系列表达式。
每个字符在匹配的时候只能跟一个数量词。
用于过滤筛选。
a、b或c。[]括号中的字母可以按照自己的使用要求任意改换。
//字符串由三个字母组成, abc/def/opq
System.out.println(str.matches("[cab][def][opq]"));
a 到z或A到Z,两头的字母包含在内。[]括号中的内容可以按照自己的使用要求任意替换成一段连续的字符。
// 判断字符串是否是由一个字母组成
System.out.println(str.matches("[a-zA-Z]"));
任何字符,除了a、b或c。[]括号中的字母可以按照自己的使用要求任意改换。
// 字符串由一个字符组成,字符不是a/d/h/l/p
System.out.println(str.matches("[^adhlp]"));
表示任意字符。
// 匹配字母a开头的由两个字符组成的字符串
// . 表示任意字符
System.out.println(str.startsWith("a") && str.length() == 2);
System.out.println(str.matches("a."));
表示匹配点。
// 匹配 "."
System.out.println(str.matches("\\."));
匹配反斜杠。
// 匹配 \
// "\\\\ " -> "\\" -> \
// 路径名
System.out.println(str.matches("\\\\"));
表示所有数字。
// 任意一个数字
System.out.println(str.matches("[0-9]"));
System.out.println(str.matches("\\d"));
表示非数字。
表示空白符。
表示非空白。
表示单词字符。
非单词字符。
表示至少出现一次。>=1。
// 匹配字符a开头的至少由两个字符组成的字符串
// System.out.println(str.startsWith("a") && str.length() >= 2);
// + 表示至少出现一次
// "a+" 至少出现1个a
System.out.println(str.matches("a.+"));
表示至多出现一次。<=1。
// 匹配字符a开头的至多由2个字符组成的字符串
// ?表示至多一次
System.out.println(str.matches("a.?"));
表示可有可无,有的话不限制次数。>=0。
// 匹配字符串"ab"/"abc"/ abcc
// * 表示可有可无 ---如果有的话,不限制次数
System.out.println(str.matches("abc*"));
表示有n个字符组成。==n。
// 匹配由5个字符组成的字符串
System.out.println(str.length() == 5);
// {n} 表示恰好由n个字符组成
System.out.println(str.matches(".{5}"));
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-53988-7.html
这个名字好