正则表达式

正则表达式:Regular expression

    贪官          字符串 "123456"

    法律          正则表达式 \\d+

    Pattern 表示正则表达式,经过编译得到正则表达式
    Matcher 匹配器

    ---------------------------------------------------
    java在字符串提供了四个方法,直接支持正则表达式
        matches
        replaceALl
        replaceFirst
        split

    ---------------------------------------------------
    正则语法:
    [ab]            a或者b
    [a-z]           所有小写字母
    [a-zA-Z]        所有字母
    [a-zA-Z0-9_]    数字、字母、下划线  单词字符串
    [^ab]           不是a,也不是b     ^放在方括号中,表示 非

    \w              word:单词字符串    等价于[a-zA-Z0-9_]
    \W              非单子字符串        等价于[^\w]
    \d              d:digtial
    \D              非数字
    \s              s:space   空白字符:空格、\r、\n、\t
    .               表示任意字符串    除了:\r、\n
    \.              表示真正的点

    ^               开头
    $               结尾

    数量词
    a{2}            正好2个a
    a{2,}           至少2个
    a{2,5}          至少2个,最多5个
    a+              至少一个  等价于a{1,}
    a*              至少一个  等价于a{0.}
    a?              0个或1个

    abc|d           abc或d
    ab(c|d)         c或d

 

【案例】

package com.atguigu.bean;

/*
    正则表达式:Regular expression

    贪官          字符串 "123456"

    法律          正则表达式 \\d+

    Pattern 表示正则表达式,经过编译得到正则表达式
    Matcher 匹配器

    ---------------------------------------------------
    java在字符串提供了四个方法,直接支持正则表达式
        matches
        replaceALl
        replaceFirst
        split

    ---------------------------------------------------
    正则语法:
    [ab]            a或者b
    [a-z]           所有小写字母
    [a-zA-Z]        所有字母
    [a-zA-Z0-9_]    数字、字母、下划线  单词字符串
    [^ab]           不是a,也不是b     ^放在方括号中,表示 非

    \w              word:单词字符串    等价于[a-zA-Z0-9_]
    \W              非单子字符串        等价于[^\w]
    \d              d:digtial
    \D              非数字
    \s              s:space   空白字符:空格、\r、\n、\t
    .               表示任意字符串    除了:\r、\n
    \.              表示真正的点

    ^               开头
    $               结尾

    数量词
    a{2}            正好2个a
    a{2,}           至少2个
    a{2,5}          至少2个,最多5个
    a+              至少一个  等价于a{1,}
    a*              至少一个  等价于a{0.}
    a?              0个或1个

    abc|d           abc或d
    ab(c|d)         c或d
 */
public class RegExpDemo {
    public static void main(String[] args) {
        //需求:判断手机号码格式是否正确
        //手机号11位,第一位数字“1”,第二位数字“3-9”
        String s = "18603071631";
        boolean b = s.matches("1[3-9]\\d{9}");
        System.out.println(b);

    }
}

 

posted @ 2024-05-13 23:17  白森  阅读(5)  评论(0编辑  收藏  举报