原 深入java 定義正規表示式

2021-08-20 22:16:58 字數 2924 閱讀 2773

正規表示式定義的例子

附加常用的匹配例子

摘抄自官方api文件。

指定為字串的正規表示式必須首先被編譯為此類的例項。然後,可將得到的模式用於建立 matcher 物件,依照正規表示式,該物件可以與任意字串行匹配。執行匹配所涉及的所有狀態都駐留在匹配器中,所以多個匹配器可以共享同一模式。

意思就是:至少兩次:大寫-(小寫*) 

還有一點關鍵點是:正規表示式在解析的時候從左往右,* 和 + 和 ?從左往右只與自己最近的一塊作用。/匹

配正整數

−[1−

9]d∗

//匹配正整數−[1−9]d∗

//匹配負整數 

^-?[1-9]d*//匹

配整數[

1−9]

d∗|0

//匹配整數[1−9]d∗|0

//匹配非負整數(正整數 + 0) 

^-[1-9]d*|0//匹

配非正整

數(負整

數+0)

[1−9

]d∗.

d∗|0.

d∗[1

−9]d

∗//匹配非正整數(負整數+0)[1−9]d∗.d∗|0.d∗[1−9]d∗

//匹配正浮點數 

^-([1-9]d*.d*|0.d*[1-9]d*)//匹

配負浮點

數−?(

[1−9

]d∗.

d∗|0.

d∗[1

−9]d

∗|0?

.0+|0

)//匹配負浮點數−?([1−9]d∗.d∗|0.d∗[1−9]d∗|0?.0+|0)

//匹配浮點數 

^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0//匹

配非負浮

點數(正

浮點數+

0)(−

([1−

9]d∗

.d∗|

0.d∗[

1−9]

d∗))

|0?.0

+|0//匹配非負浮點數(正浮點數+0)(−([1−9]d∗.d∗|0.d∗[1−9]d∗))|0?.0+|0

//匹配非正浮點數(負浮點數 + 0) 

評注:處理大量資料時有用,具體應用時注意修正/匹

配由26個

英文本母

組成的字

符串[a

−z]+

//匹配由26個英文本母組成的字串[a−z]+

//匹配由26個英文本母的大寫組成的字串 

^[a-z]+//匹

配由26個

英文本母

的小寫組

成的字元

串[a−

za−z

0−9]

+//匹配由26個英文本母的小寫組成的字串[a−za−z0−9]+

//匹配由數字和26個英文本母組成的字串 

^w+$  //匹配由數字、26個英文本母或者下劃線組成的字串只能

輸入n位

的數字:

「dn」只能輸入n位的數字:「dn

」 只能輸入至少n位數字:「^d」只能

輸入m−

n位的數

字:「d

m,n」只能輸入m−n位的數字:「dm,n

」 只能輸入零和非零開頭的數字:「^(0|[1-9][0-9]*)」只能

輸入有兩

位小數的

正實數:

「[0−

9]+(

.[0−

9]2)

?」只能輸入有兩位小數的正實數:「[0−9]+(.[0−9]2)?

」 只能輸入有1-3位小數的正實數:「^[0-9]+(.[0-9])?」只能

輸入非零

的正整數

:「+?

[1−9

][0−

9]∗」只能輸入非零的正整數:「+?[1−9][0−9]∗

」 只能輸入非零的負整數:「^-[1-9][0-9]*」只能

輸入長度

為3的字

符:「.

3」只能輸入長度為3的字元:「.3

」 只能輸入由26個英文本母組成的字串:「^[a-za-z]+」只能

輸入由26

個大寫英

文字母組

成的字元

串:「[

a−z]

+」只能輸入由26個大寫英文本母組成的字串:「[a−z]+

」 只能輸入由26個小寫英文本母組成的字串:「^[a-z]+」只能

輸入由數

字和26個

英文本母

組成的字

符串:「

[a−z

a−z0

−9]+

」只能輸入由數字和26個英文本母組成的字串:「[a−za−z0−9]+

」 只能輸入由數字、26個英文本母或者下劃線組成的字串:「^w+」驗證

使用者密碼

:「[a

−za−

z]w5

,17」驗證使用者密碼:「[a−za−z]w5,17

」正確格式為:以字母開頭,長度在6-18之間,

」等字元:「[^%&』,;=?驗證

**號碼

:「((

d3,4

)|d3

,4−)

?d7,

8」驗證**號碼:「((d3,4)|d3,4−)?d7,8」驗

證一年的

12個月:

「(0?

[1−9

]|1[

0−2]

)」驗證一年的12個月:「(0?[1−9]|1[0−2])

」正確格式為:「01」-「09」和「1」「12」 

驗證乙個月的31天:「^((0?[1-9])|((1|2)[0-9])|30|31)$」

js正規表示式 原

js常用正規表示式 js正則測試 js常用正規表示式 w3school 獲取url中的引數 function geturlparam name return null 返回引數值 到2017 01 19,本人還是無法理解 為何能匹配到 後面的值,於是換成了 獲取url中的引數 function ge...

正規表示式定義

正規表示式定義 正規表示式 regular expression 描述了一種字串匹配的模式,可以用來檢查乙個串是否含有某種子串 將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。列目錄時,dir txt或ls txt中的 txt就不是乙個正規表示式,因為這裡 與正則式的 的含義是不同的。正規...

正規表示式 定義

前言 在前端頁面使用中,遇到日期格式的驗證,開始使用了一款表單控制項驗證,但是不相容!而且使用起來還受到很大約束,所以就決定自己寫原生js。為了完成日期格式的驗證,第一步,當然是學會使用正規表示式。以前都是直接複製使用,這次理解原理,自己原生寫。首先,總結了正規表示式的定義。正規表示式 正式定義 乙...