复习正则表达式

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

  1. 正则表达式语法

    任何一个字符都可以是正则表达式的字符
    [abc] 表示一个字符,a或者b或者c
    (b|d|rt) 表示一组字符 b或者的或者rt
    [a-z] 表示任意一个小写字母
    [A-Z] 表示任意一个大写字母
    [0-9] 表示任意一个数字
    [1-5] 表示1~5这5个数字中的某一个
    [a-zA-Z0-9] 表示所有的字母和数字中的某一个
    [a-m&&[h-z]] 等价于[h-m]
    [^bcd] 除开abcd以外的所有字符中的一个
    [ae-z]
    [a-zA-Z_0-9] 所有的单词字符
    . 一个任意字符
    \d 数字,等价于[0-9]
    \D 非数字等价于[^0-9]
    \w 所有的单词字符,等价于[a-zA-Z_0-9]
    \W 非单词字符
    \s 空白字符 空格 \t \r \n
    \S 非空白字符

  2. 在Java中的使用

		//验证18位的身份证
		String regex = "^[1-9][0-9]{16}[Xx\\d]";
        System.out.println("431082199902260311".matches(regex));

使用Java中的Pattern对象

		//验证18位身份证号
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher("431082199902260311");
        System.out.println(matcher.find());

你可能感兴趣的:(java,java,正则表达式)