JAVA基礎總結3 --正則表達
阿新 • • 發佈:2018-12-16
正則表達通常用於判斷語句中,用來檢查某一字串是否符合某一格式。比如現實生活中的密碼校驗,驗證碼校驗,還有註冊校驗等等。在生活中運用很廣泛。 元字元是什麼呢? 元字元:一些具有特殊意義的字元 |正則表示式中的元字元如下表|
元字元 | 描述 |
---|---|
^ | 匹配的開始字元 |
$ | 匹配的結束字元 |
* | 匹配它前面子表示式的任意次 |
+ | 匹配它前面子表示式大於等於1次 |
? | 匹配它前面的子表示式0次或者1次 |
{n} | n是一個非負的整數,表示匹配前邊表達確定的n次 |
{n,} | 至少匹配n次 |
{n,m} | 至少你次至多m次 |
. | 匹配除了“\r\n”之外的任意單個字元 |
[a-z] | 匹配從a到z小寫字母的任意字元(可變) |
[^a-z] | 匹配不在制定範圍內的字元(可變) |
\d | 匹配一個數字字元相當於0到9 |
\D | 匹配一個非數字字元 |
\n | 匹配一個換行字元 |
\r | 匹配一個回車字元 |
\t | 匹配一個製表符 |
\w | 表示包括下劃線在內的任何單詞字元 |
\W | 匹配任何非單詞字元 |
\s | 代表空白字元 |
\S | 非空白字元 |
注:每一個正則表示式都要有開頭和結尾,以^開頭以$結尾,看了好幾個版本的書還有一種就是在表示式前加"\"和開頭結尾是等效的。如果想用真正意義的.,則要使用轉義字元“\”
eg1:一個或多個漢字
︿[\u0391-\uFFE5]+$
eg2:郵政編碼
︿[1-9]\d{5}$
eg3:郵箱
︿[a-zA-Z_]{1,}[0-9{0,}]@(([a-zA-Z0-9]-){1.}.){1,3[a-zA-Z-]{1,}}$
講完了正則表示式的格式,接下來就是該如何去比較當前字串是否符合該正則表達,在String類中定義有一個檢查匹配是否正確的方法
matches()方法:
public boolean matches(String s)
返回一個布林型
使用方法也是很簡單,將你輸入的資料物件呼叫此方法即可
例如:
虛擬碼如下
main(String args[]){
print(“輸入郵箱”)
Scanner s =new Scanner( System.in)
String read=s.nextLine();//讀取輸入資料
String a="︿[a-zA-Z_]{1,}[0-9{0,}]@(([a-zA-Z0-9]-){1.}.){1,3[a-zA-Z-]{1,}}$"
boolean b=read.matches(a);//read和a進行匹配
正則表達的最基本內容就寫到這,平常生活中的基本正則表達也差不多都在裡面了》》》