zoukankan      html  css  js  c++  java
  • 正则表达式

    预定义字符类 

    . 任何字符(与行结束符可能匹配也可能不匹配) 

    \d 数字:[0-9] 

    \D 非数字: [^0-9] 

    \s 空白字符:[ \t\n\x0B\f\r] 

    \S 非空白字符:[^\s] 

    \w 单词字符:[a-zA-Z_0-9] 

    \W 非单词字符:[^\w]

    System.out.println("a".matches("."));
    System.out.println("1".matches("\\d"));
    System.out.println("%".matches("\\D"));
    System.out.println("\r".matches("\\s"));
    System.out.println("^".matches("\\S"));
    System.out.println("a".matches("\\w"));

    数量词

    X?X,一次或一次也没有

    X*X,零次或多次

    X+X,一次或多次

    X{n}X,恰好n次

    X{n,}X,至少n次

    X{n,m}X,至少n次,但是不超过m次

    System.out.println( "a".matches(".") );
    System.out.println( "a".matches("a") );
    System.out.println("a".matches("a?") );
    System.out.println( "aaa".matches("a*") );
    System.out.println( "".matches("a+") );
    System.out.println( "aaaaa".matches("a{5}") );
    System.out.println( "aaaaaaaaa".matches("a{5,8}") );
    System.out.println( "aaa".matches("a{5,}") );
    System.out.println( "aaaaab".matches("a{5,}") );

    范围表示

    [abc]a、b 或 c(简单类) 

    [^abc]任何字符,除了 a、b 或 c(否定) 

    [a-zA-Z]a 到 z 或 A 到 Z,两头的字母包括在内(范围) 

    [a-d[m-p]]a 到 d 或 m 到 p:[a-dm-p](并集) 

    [a-z&&[def]]d、e 或 f(交集) 

    [a-z&&[^bc]]a 到 z,除了 b 和 c:[ad-z](减去) 

    [a-z&&[^m-p]]a 到 z,而非 m 到 p:[a-lq-z](减去)

    System.out.println( "a".matches("[a]") );
    System.out.println( "aa".matches("[a]+") );
    System.out.println( "abc".matches("[abc]{3,}") );
    System.out.println( "abc".matches("[abc]+") );
    System.out.println( "dshfshfu1".matches("[^abc]+") );
    System.out.println( "abcdsaA".matches("[a-z]{5,}") );
    System.out.println( "abcdsaA12".matches("[a-zA-Z]{5,}") );
    System.out.println( "abcdsaA12".matches("[a-zA-Z0-9]{5,}") );
    System.out.println( "abdxyz".matches("[a-c[x-z]]+"));
    System.out.println( "bcbcbc".matches("[a-z&&[b-c]]{5,}"));
    System.out.println( "tretrt".matches("[a-z&&[^b-c]]{5,}"));

    例子

    String reg = "[1-9][0-9]{4,14}";   //匹配QQ
    String reg = "1[35]\\d{9}";  //匹配手机号
    String reg = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";  //匹配邮箱
    String reg = "\\w+@\\w+(\\.\\w+)+"; //匹配邮箱简化
  • 相关阅读:
    我很喜欢玩游戏,那么我就适合做游戏程序员吗?
    宁可多花1000元租房,也绝不要去挤半小时地铁
    996 盛行的年代,互联网人如何平衡工作和生活 ?
    互联网公司里都有哪些潜规则?
    那些拼命加班的程序员们,后来都怎么样了?
    MongoDB更需要好的模式设计 及 案例赏析
    MongoDB 提升性能的18原则(开发设计阶段)
    关于MongoDB数据库的日志解析
    实现MongoDB读写分离的“读偏好”介绍
    MongoDB分片 在部署和维护管理 中常见事项的总结
  • 原文地址:https://www.cnblogs.com/imzhuo/p/5870802.html
Copyright © 2011-2022 走看看