Java中正則表達(dá)式的語法以及matches方法的使用方法
正則表達(dá)式的語法
注意事項(xiàng)
在 Java 中,\\ 表示:我要插入一個(gè)反斜線,從而使其后的字符具有特殊的意義。在 Java 中正則表達(dá)式中則需要有兩個(gè)反斜杠才能被解析為轉(zhuǎn)義作用??梢院唵蔚睦斫庠?Java 的正則表達(dá)式中,兩個(gè) \\ 代表其他語言中的一個(gè) \,所以表示一位數(shù)字的正則表達(dá)式是 \\d,而表示一個(gè)普通的反斜杠是 \\。
字符
1.預(yù)定義字符類
●.表示任何字符\.進(jìn)行轉(zhuǎn)義
●\d數(shù)字: [0-9]
●[^ ]:用于定義反向字符類。
●\D非數(shù)字[^ 0-9]
●\w單詞字符: [a-zA-Z. _0-9] (. _是下劃線)
●\W非單詞字符: [^ \w]
2.字符類
●[abc]a、b、或c .
●[^abc]任何字符,除了a、 b、或c
●[a-zA-Z] a到z或A到Z, 兩頭的字母包括在內(nèi)(范圍) 簡寫[A-z]
3.Greedy數(shù)量詞
●X? X,一次或一次也沒有
XX,零次或多次
●X+X,一次或多次
●X{n}X, 恰好n次
●X{n,}X, 至少n次
●X{n,m}X, 至少n次,但是不超過m次n-m次
matches方法
在Java中,matches()方法是一個(gè)字符串方法,用于檢查該字符串是否與給定的正則表達(dá)式匹配。
語法
public boolean matches(String str)
參數(shù)
str為匹配字符串的正則表達(dá)式
返回值
這個(gè)方法返回一個(gè)布爾值,如果字符串與正則表達(dá)式匹配,那么返回true,否則返回false。
實(shí)例
實(shí)例1
public class Main {
public static void main(String[] args) {
String email = "example@example.com";
boolean isValid = email.matches("[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+");
System.out.println("郵箱地址是否有效:" + isValid);
}
}正則表達(dá)式解析:
[\\w-]+:匹配一個(gè)或多個(gè)字母、數(shù)字、下劃線或連字符。(\\.[\\w-]+)*:匹配0個(gè)或多個(gè)以點(diǎn)號(hào)開頭,后面跟一個(gè)或多個(gè)字母、數(shù)字、下劃線或連字符的組合。@:匹配字符"@"。[\\w-]+:匹配一個(gè)或多個(gè)字母、數(shù)字、下劃線或連字符。(\\.[\\w-]+)+:匹配一個(gè)或多個(gè)以點(diǎn)號(hào)開頭,后面跟一個(gè)或多個(gè)字母、數(shù)字、下劃線或連字符的組合。
實(shí)例2
public class Main {
public static void main(String[] args) {
String phoneNumber = "13800138000";
boolean isValid = phoneNumber.matches("1[3-9]\\d{9}");
System.out.println("手機(jī)號(hào)碼是否有效:" + isValid);
}
}
正則表達(dá)式解析:
1:匹配字符"1"。[3-9]:匹配數(shù)字3到9之間的任意一個(gè)數(shù)字。\\d{9}:匹配9個(gè)數(shù)字。
總結(jié)
到此這篇關(guān)于Java中正則表達(dá)式的語法以及matches方法使用的文章就介紹到這了,更多相關(guān)Java正則語法及matches方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA 2021.1 操作SVN 最新超詳細(xì)教程(圖文)
本教程將通過idea從svn服務(wù)器中的任意一個(gè)分支檢出代碼(本文采用branches),然后再idea中創(chuàng)建新的分支、提交代碼、拉取代碼、合并分支等操作進(jìn)行一一記錄,暫不包含代碼合并,對(duì)idea2021.1操作svn相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)下吧2021-05-05
最新Spring Security的基于內(nèi)存用戶認(rèn)證方式
本文講解SpringSecurity內(nèi)存認(rèn)證配置,適用于開發(fā)、測試等場景,通過代碼創(chuàng)建用戶及權(quán)限管理,支持密碼加密,雖簡單但不持久化,生產(chǎn)環(huán)境推薦使用數(shù)據(jù)庫或JWT等認(rèn)證方式,感興趣的朋友一起看看吧2025-07-07
解決maven中只有Lifecycle而Dependencies和Plugins消失的問題
這篇文章主要介紹了maven中只有Lifecycle而Dependencies和Plugins消失的問題及解決方法,本文通過圖文的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-07-07
SpringBoot @ConfigurationProperties + Validat
本文給大家介紹SpringBoot @ConfigurationProperties + Validation實(shí)現(xiàn)啟動(dòng)期校驗(yàn)解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-09-09
JAVA實(shí)現(xiàn)基于Tcp協(xié)議的簡單Socket通信實(shí)例
本篇文章主要介紹了JAVA實(shí)現(xiàn)基于Tcp協(xié)議的簡單Socket通信實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Springboot的application.properties或application.yml環(huán)境的指定運(yùn)行與配置方
本文主要介紹了Spring?Boot中配置文件的多種使用方式,包括配置文件的命名、激活、路徑指定以及優(yōu)先級(jí),并結(jié)合示例進(jìn)行了詳細(xì)說明2025-11-11
Java8日期類LocalDate、LocalTime和LocalDateTime使用方法詳解
這篇文章主要給大家介紹了關(guān)于Java8日期類LocalDate、LocalTime和LocalDateTime使用方法的相關(guān)資料,LocalDateTime是JDK1.8出現(xiàn)的新特性,解決線程不安全的問題,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
Java實(shí)現(xiàn)簡易生產(chǎn)者消費(fèi)者模型過程解析
這篇文章主要介紹了Java實(shí)現(xiàn)簡易生產(chǎn)者消費(fèi)者模型過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Java設(shè)計(jì)模式之備忘錄模式實(shí)現(xiàn)對(duì)象狀態(tài)的保存和恢復(fù)
本文介紹Java設(shè)計(jì)模式之備忘錄模式,該模式可以實(shí)現(xiàn)對(duì)象狀態(tài)的保存和恢復(fù)。通過詳細(xì)講解備忘錄模式的原理、實(shí)現(xiàn)方法和應(yīng)用場景,幫助讀者深入理解該設(shè)計(jì)模式,并提供示例代碼和技巧,便于讀者實(shí)際應(yīng)用2023-04-04

