JAVA正則表達式及字符串的替換與分解相關知識總結
JAVA正則表達式及字符串的替換與分解
Java 提供了 java.util.regex
包來與正則表達式進行模式匹配
java.util.regex
包主要包括以下三個類:
Pattern 類:
pattern 對象是一個正則表達式的編譯表示。Pattern 類沒有公共構造方法。要創(chuàng)建一個 Pattern 對象,你必須首先調用其公共靜態(tài)編譯方法,它返回一個 Pattern 對象。該方法接受一個正則表達式作為它的第一個參數。
Matcher 類:
Matcher 對象是對輸入字符串進行解釋和匹配操作的引擎。與Pattern 類一樣,Matcher 也沒有公共構造方法。你需要調用 Pattern 對象的 matcher 方法來獲得一個 Matcher 對象。
常用用法
-
.
:表示任何一個字符 \d :\\d
表示0~9任何一個字符 \D:非0~9任何一個字符\s :\\s
表示空格類字符\w:\\w
表示可用于標識符的字符(不包含美元符號)\p{lower}:\\p {lower}
表示小寫字母a—z\p{upper}:\\p{upper}
表示大寫字母\p{ascll}:\\p{ascll}
表示ascll字符\p{punct}:\\p{punct}
表示標點符號[abc]
:表示a b c 中的任何一個[^abc]
:表示除去 a b c 以外的任何字符[a-zA-Z]:
表示英文字母中的其中一個?
表示元字符或者普通字符,表示出現0次或者1次X?
:表示X出現0次或者1次X*
: 表示X出現0次或者無數次X+
:表示 X出現1次或者多次X{n}
:表示X恰好出現n次X{n,}
:表示X至少出現n次X{n,m}
:表示X出現n次至m次
字符串的替換
replaceAll
方法返回一個字符串,但是不改變當前字符串
String result= "12hello567".replaceAll("\\d+"," 你好 "); 你好hello 你好
public class ReplaceErrorWord { public static void main(String args[ ]) { String str = "登錄網站: 222.128.89.253"; Pattern pattern; Matcher matcher; String regex = "[\\d]{1,3}[.][\\d]{1,3}[.][\\d]{1,3}[.][\\d]{1,3}"; pattern = Pattern.compile(regex);//使用 regex 初試化模式對象 pattern matcher = pattern.matcher(str);//得到檢索 str 的匹配對象 matcher String IP=""; while(matcher.find()) { IP= matcher.group(); System.out.print(matcher.start()+"位置出現:"); System.out.println(IP); } System.out.printf("將%s 替換為 202.192.78.56\n",IP); String result = matcher.replaceAll("202.192.78.56"); System.out.println(result); } }
字符串的分解
split()
import java.util.Scanner; public class Xi{ public static void main(String[] args){ System.out.println("請輸入一行文本:"); Scanner reader=new Scanner(System.in); String str=reader.nextLine(); String regex = "[\\s\\d\\p{Punct}]"; String words[]=str.split(regex); for(int i = 0;i < words.length;i++){ int m=i+1; System.out.println("單詞"+m+";"+words[i]); } } }
到此這篇關于JAVA正則表達式及字符串的替換與分解相關知識總結的文章就介紹到這了,更多相關JAVA正則表達式及字符串的替換與分解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java程序流程控制:判斷結構、選擇結構、循環(huán)結構原理與用法實例分析
這篇文章主要介紹了Java程序流程控制:判斷結構、選擇結構、循環(huán)結構原理與用法,結合實例形式分析了Java流程控制中判斷結構、選擇結構、循環(huán)結構相關原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04Spring Boot前后端分離開發(fā)模式中的跨域問題及解決方法
本文介紹了解決Spring Boot前端Vue跨域問題的實戰(zhàn)經驗,并提供了后端和前端的配置示例,通過配置后端和前端,我們可以輕松解決跨域問題,實現正常的前后端交互,需要的朋友可以參考下2023-09-09JDBC連接MySql數據庫步驟 以及查詢、插入、刪除、更新等
這篇文章主要介紹了JDBC連接MySql數據庫步驟,以及查詢、插入、刪除、更新等十一個處理數據庫信息的功能,需要的朋友可以參考下2018-05-05