java中必背正则标记

  所有的正则可以使用的标记都在java.util.regex.Pattern类中。我们打开这个类文档可以看到有好多的标记,难道都要记?当然不是,我们只需记住一些比较常用的就行了。下面我们一起来看一下:

  1.单个字符(数量:1)

  字符(x):表示由一位字符所组成。如:

public class Text {
	public static void main(String[] args) {
		String str="t";
		System.out.println(str.matches("t"));
		String str1="tt";
		System.out.println(str1.matches("t"));
		String str2="t";
		System.out.println(str2.matches("x"));
	}
}
结果如下;

true
false
false
  \\:表示转义字符“\”。

  \t:表示一个“\t”符号。

  \n:匹配换行符号“\n”。

  2.字符集(数量:1)

  [abc]:表示可能是字符a或则字符b或则字符c中任意一位。如:

public class Text{
	public static void main(String[] args) {
		String str="a";
		System.out.println(str.matches("[abc]"));
		String str1="x";
		System.out.println(str1.matches("[abc]"));
	}
}
结果如下:

true
false
  [^abc]:表示不是字符a,b,c中任意一位。如:

public class Text{
	public static void main(String[] args) {
		String str="a";
		System.out.println(str.matches("[^abc]"));
		String str1="x";
		System.out.println(str1.matches("[^abc]"));
		String str2="ab";
		System.out.println(str2.matches("[^abc]"));
	}
}
结果如下:

false
true
false
  [a-z]:表示所有的小写字母。

  [a-zA-Z]:表示任意的一位字母,不区分大小写。如:

public class Text{
	public static void main(String[] args) {
		String str="a";
		System.out.println(str.matches("[a-z]"));
		String str1="x";
		System.out.println(str1.matches("[a-zA-Z]"));
		String str2="c";
		System.out.println(str2.matches("[a-z]"));
		String str3="D";
		System.out.println(str3.matches("[a-zA-Z]"));
		String str4="ab";
		System.out.println(str4.matches("[a-zA-Z]"));
	}
}
结果如下:

true
true
true
true
false
  [0-9]:表示任意的一位数字。如:

public class Text {
	public static void main(String[] args) {
		String str="5";
		System.out.println(str.matches("[0-9]"));
		String str1="11";
		System.out.println(str1.matches("[0-9]"));
	}
}
结果如下;

true
false
  3.简化的字符集(数量:1)

  .:表示任意的一位字符。如:

public class Text {
	public static void main(String[] args) {
		String str="5";
		System.out.println(str.matches("."));
		String str1="11";
		System.out.println(str1.matches("."));
		String str2="c";
		System.out.println(str2.matches("."));
		String str3="[";
		System.out.println(str3.matches("."));
	}
}
如果如下:
true
false
true
true
  \d:等价于:[0-9]。

  \D:等价于:[^0-9]。如:

public class Text {
	public static void main(String[] args) {
		String str="5";
		System.out.println(str.matches("\\d"));
		String str1="11";
		System.out.println(str1.matches("\\d"));
	}
}
结果如下:

true
false
  \s:表示任意的空白字符,如:"\t","\n"。

  \S:表示任意的非空白字符。

  \w:等价于“[a-zA-Z_0-9]”,表示由任意的字母,数字,_所组成。

  \W:等价于“[^a-zA-Z_0-9]”,表示不是由任意的字母,数字,_所组成。如:

public class Text {
	public static void main(String[] args) {
		String str="5";
		System.out.println(str.matches("[a-zA-Z_0-9]"));
		String str1="11";
		System.out.println(str1.matches("[a-zA-Z_0-9]"));
		String str2="c";
		System.out.println(str2.matches("[a-zA-Z_0-9]"));
		String str3="D";
		System.out.println(str3.matches("[a-zA-Z_0-9]"));
		String str4="_";
		System.out.println(str4.matches("[a-zA-Z_0-9]"));
	}
}
结果如下:
true
false
true
true
true
  4.数量表达

  正则?:表示此正则可以出现一次或0次。如:

public class Text {
	public static void main(String[] args) {
		String str="1";
		System.out.println(str.matches("1?"));
		String str1="";
		System.out.println(str1.matches("1?"));
		String str2="11";
		System.out.println(str2.matches("1?"));
	}
}
如果如下:

true
true
false
  正则+:表示此正则可以出现一次或一次以上。如:

public class Text {
	public static void main(String[] args) {
		String str="1";
		System.out.println(str.matches("1+"));
		String str1="";
		System.out.println(str1.matches("1+"));
		String str2="11";
		System.out.println(str2.matches("1+"));
		String str3="1111111";
		System.out.println(str3.matches("1+"));
	}
}
结果如下:

true
false
true
true
  正则*:表示此正则可以出现0次一次或多次。如:

public class Text {
	public static void main(String[] args) {
		String str="1";
		System.out.println(str.matches("1*"));
		String str1="";
		System.out.println(str1.matches("1*"));
		String str2="11";
		System.out.println(str2.matches("1*"));
		String str3="1111111";
		System.out.println(str3.matches("1*"));
	}
}
结果如下:

true
true
true
true
  正则{n}:表示此正则刚好出现n次。如:

public class Text {
	public static void main(String[] args) {
		String str="1";
		System.out.println(str.matches("1{2}"));
		String str1="";
		System.out.println(str1.matches("1{2}"));
		String str2="11";
		System.out.println(str2.matches("1{2}"));
	}
}
结果如下:

false
false
true
  正则{n.}:表示此正则出现n次以上(包含n次)。

  正则{n.m}:表示此正则出现n-m次。
  5.逻辑运算

  正则1正则2:正则1判断完之后继续判断正则2。

  正则1|正则2:正则1或则正则2有一组满足即可。
  (正则):将多个正则作为一组,可以为这一组单独设置出现的次数。
  如:

public class Text {
	public static void main(String[] args) {
		String str="12";
		System.out.println(str.matches("12"));
		String str1="1";
		System.out.println(str1.matches("1|2"));
		String str2="1249749612";
		System.out.println(str2.matches("(12){2}"));
	}
}
结果如下:

true
true
false


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值