亚洲日本欧美日韩高观看,性高湖久久久久久久久,亚洲av成人噜噜无码网站,亚洲欧美日韩国产一区二区动图,亚洲欧美日韩国产精品一区二区


學AI,好工作 就找北大青鳥
關注小青 聽課做題,輕松學習
周一至周日
4000-9696-28

Java正則表達式入坑指南

來源:北大青鳥總部 2023年01月11日 10:42

摘要: 正則表達式是編程語言中幾乎繞不開的話題。有了它,可以幫你快速定位到符合條件的文本內(nèi)容。

在日常開發(fā)工作中,無論你使用的語言是java、python、shell、golang還是C#。正則表達式是編程語言中幾乎繞不開的話題。有了它,可以幫你快速定位到符合條件的文本內(nèi)容。今天小編帶大家一起來學習下正則表達式,相信通過這篇文章的介紹,能為以后的工作提供一個更清晰的思路。


首先給大家介紹一下正則表達式使用的類,在java.util.regex 包中主要包括以下三個類:

1.Pattern 

pattern 對象是一個正則表達式的編譯表示。Pattern類沒有公共構造方法。要創(chuàng)建一個 Pattern 對象,你必須首先調(diào)用其公共靜態(tài)編譯方法,它返回一個 Pattern 對象。該方法接受一個正則表達式作為它的第一個參數(shù)。

2.Matcher 

Matcher 對象是對輸入字符串進行解釋和匹配操作的引擎。與Pattern 類一樣,Matcher 也沒有公共構造方法。你需要調(diào)用 Pattern 對象的 matcher 方法來獲得一個 Matcher 對象。

3.PatternSyntaxException

PatternSyntaxException 是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。


接下來,通過兩個例子為大家演示正則表達式的使用。

使用正則表達式校驗手機號是否合法:




例子輸出結果為:

電話字符串[18488888888]是否合法? [false]
電話字符串[14788888888]是否合法? [true]


除了可以幫助大家快速校驗數(shù)據(jù)格式是否正確外,在使用正則表達式時,我們還可以快速提取目標格式的數(shù)據(jù)內(nèi)容,這個優(yōu)勢所借助的工具即是捕獲組


捕獲組是把多個字符當一個單獨單元進行處理的方法,它通過對括號內(nèi)的字符分組來創(chuàng)建。


捕獲組是通過從左至右計算其開括號來編號。例如,在表達式((A)(B(C))),有四個這樣的組:

  • ((A)(B(C)))

  • (A)

  • (B(C))

  • (C)


可以通過調(diào)用 matcher 對象的 groupCount 方法來查看表達式有多少個分組。

groupCount 方法返回一個 int 值,表示matcher對象當前有多個捕獲組。另外還有一個特殊的組(group(0)),它總是代表整個表達式。該組不包括在 groupCount 的返回值中。

下面的例子為大家演示通過捕獲組生成目標字符串:




實例輸出結果為:

DSCS0001/20200113/1898888888820200113101638.mp3


通過以上兩個實例,我們可以清晰的看出正則表達式在數(shù)據(jù)的驗證提取目標格式字符串的強大功能。


小福利

下面是小編為大家整理的一些在工作中常用的正則表達式,希望能幫助到大家。

  • 匹配中文字符:

  • 匹配Email地址:

  • m-n位的數(shù)字:

  • 密碼必須由字母和數(shù)字組成,且長度要在6-12位之間:

  • 一年的12個月(01~09和1~12) : ^(0?[1-9]|1[0-2])$

  • 匹配時分秒:

  • IP地址格式:

  • 網(wǎng)址匹配包含http、https、ftp協(xié)議:


今天這篇文章,通過兩個實例為大家詳細介紹了正則表達式在編程過程中的強大功能:

  1. 校驗數(shù)據(jù)格式是否正確

  2. 提取目標格式的字符串內(nèi)容


結合小編整理的一些作用廣泛的表達式,相信大家對于我們今天的主題正則表達式有了一個更為清晰的認知。今天的內(nèi)容就到這里了,下期再見


標簽: java
報名優(yōu)惠
免費試聽
課程資料
官方微信
返回頂部
培訓課程 熱門話題 站內(nèi)鏈接