Java基于正則表達(dá)式實(shí)現(xiàn)查找匹配的文本功能【經(jīng)典實(shí)例】
本文實(shí)例講述了Java基于正則表達(dá)式實(shí)現(xiàn)查找匹配的文本功能。分享給大家供大家參考,具體如下:
REMatch.java:
package reMatch; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank */ public class REMatch { public static void main(String[] args) { String patt = "Q[^u]\\d+\\."; Pattern r = Pattern.compile(patt); String line = "Order QT300. Now! QT400."; Matcher m = r.matcher(line); while (m.find()) { // group(0)或group()將會(huì)返回整個(gè)匹配的字符串(完全匹配);group(i)則會(huì)返回與分組i匹配的字符 // 這個(gè)例子只有一個(gè)分組 System.out.println(patt + " matches \"" + m.group(0) + "\" in \"" + line + "\""); System.out.println("start:" + m.start() + " end:" + m.end()); /* 輸出: Q[^u]\d+\. matches "QT300." in "Order QT300. Now! QT400." start:6 end:12 Q[^u]\d+\. matches "QT400." in "Order QT300. Now! QT400." start:18 end:24 */ } } }
eclipse運(yùn)行結(jié)果如下圖:
REMatchTwoFields.java:
package reMatchTwoFields; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank */ public class REMatchTwoFields { public static void main(String[] args) { String inputLine = "Adams,John Quincy"; Pattern r = Pattern.compile("(.*),(.*)"); Matcher m = r.matcher(inputLine); if (!m.matches()) { throw new IllegalArgumentException("Bad Input"); } // 分組0得到的是整個(gè)原字符串 for (int i = 0; i < m.groupCount() + 1; i++) { System.out.println("分組" + i + ":" + m.group(i)); /* 輸出: 分組0:Adams,John Quincy 分組1:Adams 分組2:John Quincy */ } } }
eclipse運(yùn)行結(jié)果如下圖:
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
SpringBoot項(xiàng)目中Druid自動(dòng)登錄功能實(shí)現(xiàn)
Druid是Java語(yǔ)言中最好的數(shù)據(jù)庫(kù)連接池,Druid能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能,這篇文章主要介紹了SpringBoot項(xiàng)目中Druid自動(dòng)登錄功能實(shí)現(xiàn),需要的朋友可以參考下2024-08-08SpringBoot的application.yml不生效問(wèn)題及解決
這篇文章主要介紹了SpringBoot的application.yml不生效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03在SpringBoot項(xiàng)目中使用JetCache緩存的詳細(xì)教程
Spring Boot是一個(gè)非常流行的Java開(kāi)發(fā)框架,JetCache是一個(gè)基于注解的高性能緩存框架,本文將介紹如何在Spring Boot項(xiàng)目中使用JetCache緩存,并提供一個(gè)詳細(xì)案例來(lái)說(shuō)明如何配置和使用JetCache,需要的朋友可以參考下2024-06-06Spring?Cloud?Gateway?服務(wù)網(wǎng)關(guān)的部署與使用詳細(xì)講解
這篇文章主要介紹了Spring?Cloud?Gateway?服務(wù)網(wǎng)關(guān)的部署與使用詳細(xì)介紹,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04SpringCloud Nacos作為配置中心超詳細(xì)講解
這篇文章主要介紹了Springcloud中的Nacos作為配置中心,本文以用戶微服務(wù)為例,進(jìn)行統(tǒng)一的配置,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12兼容Spring Boot 1.x和2.x配置類(lèi)參數(shù)綁定的工具類(lèi)SpringBootBindUtil
今天小編就為大家分享一篇關(guān)于兼容Spring Boot 1.x和2.x配置類(lèi)參數(shù)綁定的工具類(lèi)SpringBootBindUtil,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12