正則表達式小結

下面是正則表達式的一些小結。說原創有點大,呵呵只能說是在別人的基礎上在加工而已。請看下面的一些總結吧。希望對你有用。

 

正則表達式

(1)字符匹配:

NO

表達式

描述

1

\\

表示一個\

2

文字,字母如a

表達式內任何不具有特殊意義的字符,與自身匹配

3

[abc]

表示abc中任何一個

4

[^abc]

表示除abc之外的任何字符

5

-

-指定包括一定範圍的字符[A-Z]表示A-Z的大寫字母

6

[a-zA-Z]

表示全部有大小寫字母組成

7

\d

表示由數字組成

8

\D

表示由非數字組成

9

\s

表示由空白字符,如製表符或換行符

10

\S

非空白字符

11

\w

單子字符(a-z A-Z 0-9以及下滑線_

12

\W

非單字字符

(2)字符類(某些字符類僅在用於US-ASCII比較時纔有效)

NO

表達式

描述

1

\p{Lower}

小寫字符

2

\p{Upper}

大寫字符

3

\p{ASCII}

所有ASCII字符

4

\p{Alpha}

字母字符(所有大小寫字母)

5

\p{Digit}

0-9的數字

6

\p{Alnum}

Alphanumber字母數字字符

 

 

(3)出現的次數(放在正則後面)

NO

表達式

描述

1

?

表示出現一次或根本不出現

2

*

表示出現零次或一次或一次以上(含一次)

3

+

表示出現一次或多次

4

{n}

剛好出現n

5

{m,}

表示至少出現m

6

{m,n}

出現mn

(4)關係運算

NO

表達式

描述

1

正則1|正則2

或者正則1或者正則2

2

(正則)

表示一組規範

示例

密碼strPass爲六位數字

strPass.matches("[0-9]{6}")

用戶名strName6-10爲數字字母下滑線組成

strName.matches("[0-9a-zA-Z_]{6,10}")

身份證strPerId驗證有16位數字或者17位數字和最後一位數字或者x組成

strPerId.matches("[1-9]{1}(([0-9]{15})||([0-9]{16})([0-9]{1}||[x]{1}))")

strEmail xxx@xxx(.com.cn)

strEmail.matches("[0-9A-Za-z]+@[0-9a-zA-Z]+(\\.com||\\.cn)")

注意加括號

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章