最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java正則表達(dá)式匹配規(guī)則超詳細(xì)總結(jié)

 更新時(shí)間:2022年10月09日 10:16:42   作者:SmarTongs  
正則表達(dá)式并不僅限于某一種語言,但是在每種語言中有細(xì)微的差別,下面這篇文章主要給大家介紹了關(guān)于java正則表達(dá)式匹配規(guī)則的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1 單個(gè)字符的匹配規(guī)則如下:

2 多個(gè)字符的匹配規(guī)則如下:

3 復(fù)雜匹配規(guī)則主要有:

4 提取匹配的字符串子段

Pattern p = Pattern.compile("(\\d{3,4})\\-(\\d{7,8})");
Matcher m = p.matcher("010-12345678");

正則表達(dá)式用(...)分組可以通過Matcher對(duì)象快速提取子串:
- group(0)表示匹配的整個(gè)字符串;
- group(1)表示第1個(gè)子串,group(2)表示第2個(gè)子串,以此類推。

5 非貪婪匹配

用表達(dá)式

(\d+)(0*)

去匹配123000,10100,1001結(jié)果都是\d+匹配到所有字符而0*未用到,因?yàn)檎齽t表達(dá)式默認(rèn)采取貪婪匹配策略(匹配盡可能多的字符),在\d+后邊加個(gè)?就表示非貪婪(匹配盡可能少的字符),非貪婪如下:

(\d+?)(0*)

6 替換和搜索

6.1 分割字符串

對(duì)輸入的不規(guī)則字符串利用string.split()傳入正則表達(dá)式提取想要的部分:

"a b c".split("\\s"); // { "a", "b", "c" }
"a b  c".split("\\s"); // { "a", "b", "", "c" }
"a, b ;; c".split("[\\,\\;\\s]+"); // { "a", "b", "c" }

6.2 搜索字符串

public class Main {
    public static void main(String[] args) {
        String s = "the quick brown fox jumps over the lazy dog.";
        Pattern p = Pattern.compile("\\wo\\w");
        Matcher m = p.matcher(s);
        while (m.find()) {
            String sub = s.substring(m.start(), m.end());
            System.out.println(sub);
        }
    }
}

output:

row
fox
dog

6.3 替換字符串

使用正則表達(dá)式替換字符串可以直接調(diào)用String.replaceAll(),它的第一個(gè)參數(shù)是正則表達(dá)式,第二個(gè)參數(shù)是待替換的字符串。我們還是來看例子:

public class Main {
    public static void main(String[] args) {
        String s = "The     quick\t\t brown   fox  jumps   over the  lazy dog.";
        String r = s.replaceAll("\\s+", " ");
        System.out.println(r); // "The quick brown fox jumps over the lazy dog."
    }
}

6.4 反向引用

如果我們要把搜索到的指定字符串按規(guī)則替換,比如前后各加一個(gè)xxxx,這個(gè)時(shí)候,使用replaceAll()的時(shí)候,我們傳入的第二個(gè)參數(shù)可以使用$1、$2來反向引用匹配到的子串。例如:

public class Main {
    public static void main(String[] args) {
        String s = "the quick brown fox jumps over the lazy dog.";
        String r = s.replaceAll("\\s([a-z]{4})\\s", " <b>$1</b> ");
        System.out.println(r);
    }
}

output

the quick brown fox jumps <b>over</b> the <b>lazy</b> dog.

總結(jié) 

到此這篇關(guān)于java正則表達(dá)式匹配規(guī)則的文章就介紹到這了,更多相關(guān)java正則表達(dá)式匹配規(guī)則內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的LinkedHashSet解析

    Java中的LinkedHashSet解析

    這篇文章主要介紹了Java中的LinkedHashSet解析,與HashSet不同的是,LinkedHashSet在內(nèi)部使用了一個(gè)雙向鏈表來維護(hù)元素的順序,因此它可以保持元素的插入順序,這使得LinkedHashSet在需要保持元素順序的場(chǎng)景下非常有用,需要的朋友可以參考下
    2023-11-11
  • 淺談mybatis返回單一對(duì)象或?qū)ο罅斜淼膯栴}

    淺談mybatis返回單一對(duì)象或?qū)ο罅斜淼膯栴}

    這篇文章主要介紹了淺談mybatis返回單一對(duì)象或?qū)ο罅斜淼膯栴},具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java讀取圖片并顯示方式

    java讀取圖片并顯示方式

    這篇文章主要介紹了java讀取圖片并顯示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 基于springboot處理date參數(shù)過程解析

    基于springboot處理date參數(shù)過程解析

    這篇文章主要介紹了基于springboot處理date參數(shù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java中獲取泛型類型信息的方法

    Java中獲取泛型類型信息的方法

    本文主要介紹了Java中獲取泛型類型信息的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 使用Spring AntPathMatcher的doMatch方法

    使用Spring AntPathMatcher的doMatch方法

    這篇文章主要介紹了使用Spring AntPathMatcher的doMatch方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • MyBatis Example And與Or混合使用的實(shí)例

    MyBatis Example And與Or混合使用的實(shí)例

    這篇文章主要介紹了MyBatis Example And與Or混合使用的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Struts2的輸入校驗(yàn)實(shí)例代碼

    Struts2的輸入校驗(yàn)實(shí)例代碼

    這篇文章主要介紹了Struts2的輸入校驗(yàn)實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值, 需要的朋友可以參考下
    2017-03-03
  • java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決

    java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決

    這篇文章主要給大家介紹了關(guān)于java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決辦法,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-02-02
  • Spring很常用的@Conditional注解的使用場(chǎng)景和源碼解析

    Spring很常用的@Conditional注解的使用場(chǎng)景和源碼解析

    今天要分享的是Spring的注解@Conditional,@Conditional是一個(gè)條件注解,它的作用是判斷Bean是否滿足條件,本文詳細(xì)介紹了@Conditional注解的使用場(chǎng)景和源碼,需要的朋友可以參考一下
    2023-04-04

最新評(píng)論

临城县| 临颍县| 大宁县| 金堂县| 盐城市| 岱山县| 宁南县| 沂源县| 拉萨市| 黄冈市| 宁国市| 轮台县| 开江县| 霞浦县| 高碑店市| 高邮市| 綦江县| 大同市| 兴业县| 三都| 清苑县| 通城县| 皮山县| 乌兰察布市| 南投县| 徐汇区| 长阳| 赤城县| 阿瓦提县| 洛隆县| 巴青县| 林甸县| 邹城市| 柳州市| 洪江市| 砚山县| 株洲县| 清河县| 云霄县| 西和县| 宁明县|