zoukankan      html  css  js  c++  java
  • 正则表达式简单语法

    正则的基本语法:

    [ab] a或者b
    [a-z] 所有的小写字母
    [a-zA-Z0-9_] 数字字母下划线
    [^a] 非字符a
    [^ab] 非字符a和非字符b
    注意: ^只有在[]内部才表示非, 如果不是在内部表示字符开头
    d 表示数字 等价于 [0-9] (digital)
    D 表示非数字 等级于[^0-9]
    w 表示单词字符串 数字字母下划线 等价于 [a-zA-Z0-9_] (word)
    W 表示非单词字符 等价于 [^a-zA-Z0-9_]
    s 表示空白字符 space 空格
    S 非空白字符
    . 表示任意字符 但不包括:
    . 只匹配真正的 .
    ^ 表示字符串的开头
    $ 字符串的结尾

    数量词:

    a{m} 正好m个a
    a{m,} 至少m个a
    a{m,n} 至少m个a, 至多n个 大于等于m小于等于n
    a+ 表示至少一个 等价于 a{1,}
    a* 表示至少0个 a{0,}
    a? 要么0个要么1个 a{0,1}


    捕获组:

    ()捕获组 -》划分界限
    String s = "lzc@atguigu.com.cn";
    boolean result = s.matches("\w{3,15}@\S+\.(com|cn|edu|org|com\.cn)");

    经典应用:

    隐藏手机号

    String s = "18603071634";
    System.out.println(s.replaceAll("(\d{3})(\d{4})(\d{4})", "$1****$3"));
    //186****1634

    todo

    在java的字符串的方法中, 有4个方法是直接支持正则表达式
      match
      replaceAll
      replaceFirst
      split

     其他方法使用参考https://www.jb51.net/article/72081.htm

     

     

  • 相关阅读:
    pandas isin 和not in
    游戏开发需要学什么?
    打开页面,数字会自增的效果怎么弄?
    jq 导航栏点击添加/删除类(a标签跳转页面)
    bootstrap+jq分页
    2020/12/18
    2020/12/17
    2020/12/16
    2020/12/15
    2020/12/14
  • 原文地址:https://www.cnblogs.com/yangxusun9/p/13020204.html
Copyright © 2011-2022 走看看