java中必背正则标记

来源:互联网 发布:apache maven 编辑:程序博客网 时间:2024/06/01 20:49

  所有的正则可以使用的标记都在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"));}}
结果如下;

truefalsefalse
  \\:表示转义字符“\”。

  \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]"));}}
结果如下:

truefalse
  [^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]"));}}
结果如下:

falsetruefalse
  [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]"));}}
结果如下:

truetruetruetruefalse
  [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]"));}}
结果如下;

truefalse
  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("."));}}
如果如下:
truefalsetruetrue
  \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"));}}
结果如下:

truefalse
  \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]"));}}
结果如下:
truefalsetruetruetrue
  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?"));}}
如果如下:

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

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+"));}}
结果如下:

truefalsetruetrue
  正则*:表示此正则可以出现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*"));}}
结果如下:

truetruetruetrue
  正则{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}"));}}
结果如下:

falsefalsetrue
  正则{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}"));}}
结果如下:

truetruefalse


原创粉丝点击