Java基于正則表達式實現(xiàn)查找匹配的文本功能【經(jīng)典實例】
本文實例講述了Java基于正則表達式實現(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()將會返回整個匹配的字符串(完全匹配);group(i)則會返回與分組i匹配的字符
// 這個例子只有一個分組
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運行結(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得到的是整個原字符串
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運行結(jié)果如下圖:

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
一次"java:程序包org.aspectj.lang不存在"問題解決實戰(zhàn)記錄
這篇文章主要給大家介紹了一次"java:程序包org.aspectj.lang不存在"問題解決的實戰(zhàn)過程,這個錯誤提示意味著你的Java程序中引用了org.aspectj.lang這個包,但是該包并不存在,文章通過圖文介紹的非常詳細,需要的朋友可以參考下2023-06-06
SpringCloud集成和使用OpenFeign的教程指南
在微服務架構(gòu)中,服務間的通信是至關(guān)重要的,SpringCloud作為一個功能強大的微服務框架,為我們提供了多種服務間通信的方式,其中,OpenFeign是一個聲明式的Web服務客戶端,它使得編寫Web服務客戶端變得更加簡單,本文將詳細介紹如何在SpringCloud項目中集成和使用OpenFeign2024-10-10
如何解決使用restTemplate進行feign調(diào)用new HttpEntity<>報錯問題
這篇文章主要介紹了如何解決使用restTemplate進行feign調(diào)用new HttpEntity<>報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
SpringBoot中的@ConditionalOnMissingBean注解使用詳解
這篇文章主要介紹了SpringBoot中的@ConditionalOnMissingBean注解使用詳解,@ConditionalOnMissingBean作用在@Bean定義上,也就是說在容器加載它作用的Bean時,檢查容器中是否存在目標類型,需要的朋友可以參考下2024-01-01

