欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java的正則表達(dá)式你知道多少

 更新時(shí)間:2022年02月07日 11:50:39   作者:xiaostudy  
這篇文章主要為大家詳細(xì)介紹了java的正則表達(dá)式,使用表格進(jìn)行介紹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
字符
x字符 x
\\反斜線字符
\0n帶有八進(jìn)制值 0 的字符 n (0 <= n <= 7)
\0nn帶有八進(jìn)制值 0 的字符 nn (0 <= n <= 7)
\0mnn帶有八進(jìn)制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh帶有十六進(jìn)制值 0x 的字符 hh
\uhhhh帶有十六進(jìn)制值 0x 的字符 hhhh
\t制表符 ('\u0009')
\n新行(換行)符 ('\u000A')
\r回車(chē)符 ('\u000D')
\f換頁(yè)符 ('\u000C')
\a報(bào)警 (bell) 符 ('\u0007')
\e轉(zhuǎn)義符 ('\u001B')
\cx對(duì)應(yīng)于 x 的控制符
字符類(lèi)
[abc]a、b 或 c(簡(jiǎn)單類(lèi))
[^abc]任何字符,除了 a、b 或 c(否定)
[a-zA-Z]a 到 z 或 A 到 Z,兩頭的字母包括在內(nèi)(范圍)
[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](減去)
預(yù)定義字符類(lèi)
.任何字符(與行結(jié)束符可能匹配也可能不匹配)
\d數(shù)字:[0-9]
\D非數(shù)字: [^0-9]
\s空白字符:[ \t\n\x0B\f\r]
\S非空白字符:[^\s]
\w單詞字符:[a-zA-Z_0-9]
\W非單詞字符:[^\w]
Greedy 數(shù)量詞
X?X,一次或一次也沒(méi)有
X*X,零次或多次
X+X,一次或多次
X{n}X,恰好 n 次
X{n,}X,至少 n 次
X{n,m}X,至少 n 次,但是不超過(guò) m 次
Reluctant 數(shù)量詞
X??X,一次或一次也沒(méi)有
X*?X,零次或多次
X+?X,一次或多次
X{n}?X,恰好 n 次
X{n,}?X,至少 n 次
X{n,m}?X,至少 n 次,但是不超過(guò) m 次

例子 

package com.xiaostudy;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyPattern {
    public static void main(String[] args) {
    }
    private static void demo_Reluctant() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“+”表示:0次或多次,后面多加一個(gè)“?”與不加的區(qū)別是:不加的話表示只匹配一次,加的話表示匹配多次
        String regex = ".+?222";
        // 要檢驗(yàn)的對(duì)象
        String str = "xx222xx222xx222xx222";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        while (matcher.find())
            System.out.println(matcher.start() + "=====" + matcher.end());
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_aBAb() {
        // 檢驗(yàn)規(guī)則,字母集,“+”表示:0個(gè)或多個(gè)
        String regex = "[abcd]+";
        // 要檢驗(yàn)的對(duì)象
        String str = "adbcdbaDACDBDAC";
        // 編譯正則表達(dá)式,不區(qū)分大小寫(xiě)
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_abcd() {
        // 檢驗(yàn)規(guī)則,字母集,“+”表示:0個(gè)或多個(gè)
        String regex = "[abcd]+";
        // 要檢驗(yàn)的對(duì)象
        String str = "adbcdabdcddbadbc";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_123no() {
        // 檢驗(yàn)規(guī)則,非數(shù)字集,“+”表示:0個(gè)或多個(gè)
        String regex = "[^1-9]+";// 等價(jià)于\\D+
        // 要檢驗(yàn)的對(duì)象
        String str = "+sdoi#$@%@#";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_123() {
        // 檢驗(yàn)規(guī)則,數(shù)字集,“+”表示:0個(gè)或多個(gè)
        String regex = "[1-9]+";// 等價(jià)于\\d+
        // 要檢驗(yàn)的對(duì)象
        String str = "123";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_2() {
        // 檢驗(yàn)規(guī)則,單個(gè)數(shù)字
        String regex = "[1-9]";
        // 要檢驗(yàn)的對(duì)象
        String str = "2";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_nm() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“{n,m}”表示:出現(xiàn)n次到m次之間,包括他們本身
        String regex = "x{3,5}";
        // 要檢驗(yàn)的對(duì)象
        String str = "xxxxx";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_n0() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“{n,}”表示:出現(xiàn)n次或以上
        String regex = "x{3,}";
        // 要檢驗(yàn)的對(duì)象
        String str = "xxxx";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_n() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“{n}”表示:就出現(xiàn)n次
        String regex = "x{3}";
        // 要檢驗(yàn)的對(duì)象
        String str = "xxx";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_xxx0() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“+”表示:0次或多次
        String regex = "x+";
        // 要檢驗(yàn)的對(duì)象
        String str = "xxx";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_xxx() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“*”表示:一次或多次
        String regex = "x*";
        // 要檢驗(yàn)的對(duì)象
        String str = "xxx";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_x_01() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“?”表示:一次或一次都沒(méi)有
        String regex = "x?";
        // 要檢驗(yàn)的對(duì)象
        String str = "x";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_00() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母,“.”表示:任何字符
        String regex = ".";
        // 要檢驗(yàn)的對(duì)象
        String str = "x";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_x() {
        // 檢驗(yàn)規(guī)則,單個(gè)字母
        String regex = "x";// 等價(jià)于\\w、[a-z]
        // 要檢驗(yàn)的對(duì)象
        String str = "x";
        // 編譯正則表達(dá)式
        Pattern pattern = Pattern.compile(regex);
        // 創(chuàng)建匹配器,給定輸入與此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回結(jié)果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 關(guān)于@RequestBody和@RequestParam注解的使用詳解

    關(guān)于@RequestBody和@RequestParam注解的使用詳解

    這篇文章主要介紹了關(guān)于@RequestBody和@RequestParam注解的使用詳解,本文十分具有參考意義,希望可以幫助到你,如果有錯(cuò)誤的地方還望不吝賜教
    2023-03-03
  • Java程序中使用JavaMail發(fā)送帶圖片和附件的郵件

    Java程序中使用JavaMail發(fā)送帶圖片和附件的郵件

    這篇文章主要介紹了Java程序中使用JavaMail發(fā)送帶圖片和附件的郵件,JavaMail是專(zhuān)門(mén)用來(lái)處理郵件的Java API,需要的朋友可以參考下
    2015-11-11
  • Java實(shí)現(xiàn)撲克牌的創(chuàng)建以及發(fā)放

    Java實(shí)現(xiàn)撲克牌的創(chuàng)建以及發(fā)放

    在java當(dāng)中生成一副牌有很多種方法,有簡(jiǎn)單易于理解的面向過(guò)程編程,也有面向?qū)ο竽K化編程,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)撲克牌的創(chuàng)建以及發(fā)放的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Messges Queue消息隊(duì)列詳解

    Messges Queue消息隊(duì)列詳解

    這篇文章主要介紹了Messges Queue消息隊(duì)列詳解,消息隊(duì)列一般簡(jiǎn)稱(chēng)為 MQ,是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過(guò)程中保存消息的容器,需要的朋友可以參考下
    2023-07-07
  • 詳解PowerDesigner之CDM、PDM、SQL之間轉(zhuǎn)換

    詳解PowerDesigner之CDM、PDM、SQL之間轉(zhuǎn)換

    這篇文章主要介紹了詳解PowerDesigner之CDM、PDM、SQL之間轉(zhuǎn)換的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 為什么Java是程序員受歡迎的語(yǔ)言這幾個(gè)原因你該清楚

    為什么Java是程序員受歡迎的語(yǔ)言這幾個(gè)原因你該清楚

    Java一直穩(wěn)居程序員很受歡迎的編程語(yǔ)言的榜首,是企業(yè)中使用最廣泛的編程語(yǔ)言。這篇文章主要介紹了為什么Java是程序員受歡迎的語(yǔ)言這幾個(gè)原因你該清楚,需要的朋友可以參考下
    2020-07-07
  • SpringBoot中使用Filter和Interceptor的示例代碼

    SpringBoot中使用Filter和Interceptor的示例代碼

    這篇文章主要介紹了SpringBoot中使用Filter和Interceptor的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • SpringBoot用多線程批量導(dǎo)入數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法

    SpringBoot用多線程批量導(dǎo)入數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法

    這篇文章主要介紹了SpringBoot用多線程批量導(dǎo)入數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • 基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析

    基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析

    這篇文章主要介紹了基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot同一接口多個(gè)實(shí)現(xiàn)類(lèi)配置的實(shí)例詳解

    SpringBoot同一接口多個(gè)實(shí)現(xiàn)類(lèi)配置的實(shí)例詳解

    這篇文章主要介紹了SpringBoot同一接口多個(gè)實(shí)現(xiàn)類(lèi)配置的實(shí)例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論