Java正則表達(dá)式之全量匹配和部分匹配
一,前言
我們?cè)谟肧tring.matches()的時(shí)候發(fā)現(xiàn)字符串中有能匹配的地方卻返回為false。如:
String abc = "regex.1234561";
boolean matches = abc.matches("^[a-z]{4}.[0-9]+$");得到matches為false。但我們?cè)谝恍┰诰€測(cè)試正則匹配中可以看到如下

所以這里我們就需要知道java正則的匹配形式是有區(qū)分的。
二,全量匹配
顧名思義,就是指整個(gè)字符串必須全部符合你正則表達(dá)式才能返回為true。就是我們熟知的String.matches("正則")。
String abc = "regex.1234561";
boolean matches = abc.matches("^[a-z]{5}.[0-9]+$");
// 輸出該結(jié)果為true
System.out.println(matches);三,部分匹配
相對(duì)于全量匹配,我們只提取字符串中符合正則的部分。java中當(dāng)然也有此類方法。方法如下:
String abc = "regex.1234561";
Pattern pattern = Pattern.compile("[a-z]{4}.[0-9]+");
Matcher matcher = pattern.matcher(abc);
while (matcher.find()) {
// 得到符合的匹配egex.1234561
System.out.println(matcher.group());
}四,補(bǔ)充
我們常用的String.replaceAll(regex, replaceStr);中其實(shí)也是用的是部分匹配進(jìn)行的替換
String abc = "regex.1234561";
String all = abc.replaceAll("[0-9]{3}", "****");
// 輸出結(jié)果為regex.********1
System.out.println(all);總結(jié)
到此這篇關(guān)于Java正則表達(dá)式之全量匹配和部分匹配的文章就介紹到這了,更多相關(guān)Java正則匹配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何使用eclipse搭建maven多module項(xiàng)目(構(gòu)建父子項(xiàng)目)
這篇文章主要介紹了如何使用eclipse搭建maven多module項(xiàng)目(構(gòu)建父子項(xiàng)目) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
mybatis-plus 實(shí)現(xiàn)分頁(yè)查詢的示例代碼
本文介紹了在MyBatis-Plus中實(shí)現(xiàn)分頁(yè)查詢,包括引入依賴、配置分頁(yè)插件、使用分頁(yè)查詢以及在控制器中調(diào)用分頁(yè)查詢的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Java發(fā)送https請(qǐng)求并跳過(guò)ssl證書(shū)驗(yàn)證方法
最近在負(fù)責(zé)一個(gè)對(duì)接第三方服務(wù)的事情,在對(duì)接期間因?yàn)榈谌椒?wù)為https的請(qǐng)求,這篇文章主要給大家介紹了關(guān)于Java發(fā)送https請(qǐng)求并跳過(guò)ssl證書(shū)驗(yàn)證的相關(guān)資料,需要的朋友可以參考下2023-11-11
Java多線程中的CountDownLatch詳細(xì)解讀
這篇文章主要介紹了Java多線程中的CountDownLatch詳細(xì)解讀,一個(gè)同步輔助類,在完成一組正在其他線程中執(zhí)行的操作之前,它允許一個(gè)或多個(gè)線程一直等待,用給定的計(jì)數(shù) 初始化 CountDownLatch,需要的朋友可以參考下2023-11-11
淺談springboot項(xiàng)目中定時(shí)任務(wù)如何優(yōu)雅退出
這篇文章主要介紹了淺談springboot項(xiàng)目中定時(shí)任務(wù)如何優(yōu)雅退出?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
SpringBoot中使用EasyExcel并行導(dǎo)出多個(gè)excel文件并壓縮zip后下載的代碼詳解
SpringBoot的同步導(dǎo)出方式中,服務(wù)器會(huì)阻塞直到Excel文件生成完畢,在處理大量數(shù)據(jù)的導(dǎo)出功能,本文給大家介紹了SpringBoot中使用EasyExcel并行導(dǎo)出多個(gè)excel文件并壓縮zip后下載,需要的朋友可以參考下2024-09-09

