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

Java使用正則表達(dá)式進(jìn)行匹配且對匹配結(jié)果逐個替換

 更新時間:2022年09月23日 09:38:40   作者:_燈火闌珊處???????  
這篇文章主要介紹了Java使用正則表達(dá)式進(jìn)行匹配且對匹配結(jié)果逐個替換,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下

前言:

Java使用正則表達(dá)式進(jìn)行匹配,并對匹配結(jié)果逐個進(jìn)行替換

下面代碼示例,是將 下劃線 替換成隨機(jī)生成的 uuid

public class TestUtil {

    public static void main(String[] args) {
        // 待匹配替換文本
        String html = "姓名:______;年齡:______;性別:______;";
        // 正則表達(dá)式
        String regex = "_+";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(html);
        StringBuffer stringBuffer = new StringBuffer();
        // 將html中的下劃線替換為該input標(biāo)簽
        while (matcher.find()) {
            // 匹配區(qū)間
            String substring = html.substring(matcher.start(), matcher.end());
            // 生成隨機(jī)id,作為唯一標(biāo)識
            String uuid = IdUtil.simpleUUID();
            // 將下劃線替換為uuid
            matcher.appendReplacement(stringBuffer, matcher.group().replace(substring, uuid));
        }
        // 最終結(jié)果追加到尾部
        matcher.appendTail(stringBuffer);
        // 最終完成替換后的結(jié)果
        System.out.println(stringBuffer);
    }

}

輸出結(jié)果:

姓名:9b1abd66584940d0afa88d2a4f396cc0;
年齡:550161321a634b1abcd88c77e67f685a;
性別:d7714c1870bb44b8b5a7c61f35ed190e;

匹配模式 
Pattern.CANON_EQ啟用規(guī)范等價。指定此標(biāo)志后,當(dāng)且僅當(dāng)其完整規(guī)范分解匹配時,兩個字符才可視為匹配
Pattern.CASE_INSENSITIVE啟用不區(qū)分大小寫的匹配
Pattern.COMMENTS模式中允許空白和注釋。 此模式將忽略空白和在結(jié)束行之前以 # 開頭的嵌入式注釋。 通過嵌入式標(biāo)志表達(dá)式 (?x) 也可以啟用注釋模式
Pattern.DOTALL啟用點(diǎn)陣模式。在 dotall 模式下,表達(dá)式 . 匹配任何字符,包括行終止符。默認(rèn)情況下, 此表達(dá)式與行終止符不匹配。Dotall 模式也可以通過嵌入式標(biāo)志表達(dá)式啟用(?s)。(s 是“單行”模式的助記符,這在 Perl 中也被使用)。
Pattern.LITERAL啟用模式的文字解析。當(dāng)指定此標(biāo)志時,指定模式的輸入字符串將被視為文字字符序列。輸入序列中的元字符或轉(zhuǎn)義序列將沒有特殊意義。當(dāng)與此標(biāo)志一起使用時,標(biāo)志 CASE_INSENSITIVE 和 UNICODE_CASE 保留對匹配的影響。其他旗幟變得多余。沒有嵌入的標(biāo)志字符用于啟用文字解析。
Pattern.MULTILINE啟用多行模式。在多行模式中,表達(dá)式^和$匹配恰好在之前或之前分別是行終止符或輸入序列的結(jié)尾。 默認(rèn)情況下,這些表達(dá)式僅在整個輸入序列的開頭和結(jié)尾匹配。也可以通過嵌入式標(biāo)志表達(dá)式啟用多模式模式(?m)。
Pattern.UNICODE_CASE啟用 Unicode 感知的大小寫折疊。當(dāng)指定此標(biāo)志時,不區(qū)分大小寫的匹配(由 CASE_INSENSITIVE 標(biāo)志啟用)以與 Unicode 標(biāo)準(zhǔn)一致的方式完成。 默認(rèn)情況下,不區(qū)分大小寫的匹配假定僅匹配 US-ASCII 字符集中的字符。Unicode 感知案例折疊也可以通過嵌入式標(biāo)志表達(dá)式啟用(?u)。 指定此標(biāo)志可能會造成性能損失。
Pattern.UNIX_LINES啟用 UNIX 線路模式。在這種模式下,只有'\n' 行結(jié)束在行為的認(rèn)可.,^ 和 $。 UNIX 線路模式也可以通過嵌入式標(biāo)志表達(dá)式啟用(?d)。
Matcher方法 
appendReplacement()追加和替換,將當(dāng)前匹配子串替換為指定字符串,并且將替換后的子串以及其之前到上次匹配子串之后的字符串段添加到一個 StringBuffer 對象里
appendTail()將最后一次匹配工作后剩余的字符串添加到一個 StringBuffer 對象里

到此這篇關(guān)于Java使用正則表達(dá)式進(jìn)行匹配且對匹配結(jié)果逐個替換的文章就介紹到這了,更多相關(guān)Java正則表達(dá)式匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Java 壓縮文件打包tar.gz 包的詳細(xì)教程

    使用Java 壓縮文件打包tar.gz 包的詳細(xì)教程

    本文帶領(lǐng)大家學(xué)習(xí)如何使用Java 壓縮文件打包tar.gz 包,主要通過 Apache compress 工具打包,通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • 基于springboot activiti 配置項解析

    基于springboot activiti 配置項解析

    這篇文章主要介紹了springboot activiti 配置項解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring MVC 4.1.3 + MyBatis零基礎(chǔ)搭建Web開發(fā)框架(注解模式)

    Spring MVC 4.1.3 + MyBatis零基礎(chǔ)搭建Web開發(fā)框架(注解模式)

    本篇文章主要介紹了Spring MVC 4.1.3 + MyBatis零基礎(chǔ)搭建Web開發(fā)框架(注解模式),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • 在Java中按值調(diào)用和按引用調(diào)用

    在Java中按值調(diào)用和按引用調(diào)用

    這篇文章主要介紹了Java中的按值調(diào)用和按引用調(diào)用,一種是按值調(diào)用,另一種是按引用調(diào)用,這兩種方式通常根據(jù)作為輸入或參數(shù)傳遞給它們的值的類型來區(qū)分,下文相關(guān)的更多詳細(xì)資料感興趣的小伙伴可以參考一下
    2022-04-04
  • 淺談Java中向上造型向下造型和接口回調(diào)中的問題

    淺談Java中向上造型向下造型和接口回調(diào)中的問題

    這篇文章主要介紹了淺談Java中向上造型向下造型和接口回調(diào)中的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java設(shè)計模式—觀察者模式詳解

    Java設(shè)計模式—觀察者模式詳解

    這篇文章主要介紹了Java設(shè)計模式—觀察者模式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Spring和SpringBoot比較及區(qū)別解惑

    Spring和SpringBoot比較及區(qū)別解惑

    這篇文章主要介紹了Spring和SpringBoot比較解惑區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Java 提取照片的EXIF信息批量重命名

    Java 提取照片的EXIF信息批量重命名

    這篇文章主要介紹了Java 提取照片的EXIF信息批量重命名的方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-04-04
  • JavaWeb?Listener?利用Session統(tǒng)計在線人數(shù)

    JavaWeb?Listener?利用Session統(tǒng)計在線人數(shù)

    這篇文章主要為大家介紹了JavaWeb?Listener?利用Session統(tǒng)計在線人數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java并發(fā)工具類Phaser詳解

    Java并發(fā)工具類Phaser詳解

    這篇文章主要介紹了Java并發(fā)工具類Phaser詳解,Phaser(階段協(xié)同器)是一個Java實(shí)現(xiàn)的并發(fā)工具類,用于協(xié)調(diào)多個線程的執(zhí)行,它提供了一些方便的方法來管理多個階段的執(zhí)行,可以讓程序員靈活地控制線程的執(zhí)行順序和階段性的執(zhí)行,需要的朋友可以參考下
    2023-11-11

最新評論

清原| 酒泉市| 仙游县| 体育| 鹤岗市| 鹿泉市| 响水县| 襄汾县| 望江县| 惠州市| 涞水县| 和龙市| 偏关县| 阿城市| 屏山县| 大足县| 江西省| 霍林郭勒市| 平邑县| 博白县| 巴彦淖尔市| 唐山市| 夏津县| 诸城市| 武陟县| 临江市| 买车| 长泰县| 沙雅县| 木里| 余庆县| 化州市| 股票| 本溪| 长顺县| 柘荣县| 扎鲁特旗| 沙河市| 陆丰市| 昭平县| 齐齐哈尔市|