美文网首页
正则表达式笔记

正则表达式笔记

作者: rrrwx | 来源:发表于2020-05-05 19:01 被阅读0次

    JDK1.4之后正则默认被JDK所支持,并且提供java.util.regex开发包,同时String类也支持直接正则处理

    1.常用正则标记

    (1)字符:匹配单个字符。

    a:表示匹配字母a;
    \\:转义字符'"\";
    \t:转义字符"\t";
    \n:转义字符"\n";
    

    (2)一组字符:任意匹配里面的单个字符

    [abc]:可能是字母a、b或c;
    [^abc]:不是字母a、b或c中的任意一个;
    [a-zA-Z]:全部字母中的任意一个;
    [0-9]:全部数字中的任意一个;
    

    (3)边界匹配:(JavaScript里面可能会用到)

    ^:一组正则的开始;
    $:一组正则的结束;
    

    (4)简写表达式:每一位出现的简写标记也只表示一位

    .:任意一位字符;
    \d:任意一位数字,等价于.[0-9];
    \D:非数字的任意字符,等价于.[^0-9];
    \w:任意一位字母、数字、_,等价于.[a-zA-Z0-9];
    \W:非字母、数字、_以外的任意字符,等价于.[^a-zA-Z0-9];
    \s:任意的一位空格,例如"\n"、"\t"、" ";
    \s:空格以外的任意字符;
    

    (5)数量表示:匹配多位字符

    ?:出现0次或1次;
    *:出现0次、1次或多次;
    +:出现1次或多次;
    {n}:出啊先n次;
    {n,}:出现n次及以上;
    {n,m}:出现n~m次;
    

    (6)逻辑表示:与、或、非

    表达式A表达式B:表达式A后面紧跟着表达式B;
    表达式A|表达式B:表达式A或表达式B;
    (表达式):将多个表达式合成一个表示,作为一组出现;
    

    2.String类对正则的支持

    public boolean matches(String regex) //匹配指定正则表达式
    public String replaceAll(String regex, String replacement) //替换指定正则的全部内容
    public String replaceFirst(String regex, String replacement) //替换指定正则的首个内容
    public String[] split(String regex) //按照指定正则全拆分
    public String[] split(String regex, int limit) //按照指定的正则拆分为指定个数

    3.java.util.regex包支持

    该包中有两个核心的正则操作类:Pattern(正则模式)和Matcher(匹配)
    (1)Pattern类:进行正则表达式的编译以及获取Matcher实例
    public static Pattern compile(String regex) //编译正则表达式,取得Pattern实例

    Pattern pat = Pattern.compile();
    

    public Matcher matcher(CharSequence input) //获取Matcher实例

    Pattern pat = Pattern.compile();
    Matcher mat = pat.matcher(str);
    

    public String[] split(CharSequence input) //字符串拆分
    (2)Matcher类:
    public bool matches() //执行验证
    public String replaceAll(String replacement) //字符串替换
    public boolean find() //是否有下一个匹配
    public String group(int group) //获取指定组编号的数据
    这里group和find方法是String类所实现不了的。

    相关文章

      网友评论

          本文标题:正则表达式笔记

          本文链接:https://www.haomeiwen.com/subject/mxreoctx.html