1. 程式人生 > >java:正則表示式、Pattern和Matcher類小結

java:正則表示式、Pattern和Matcher類小結

  最近在實際開發中遇到了2個坑,都和正則表示式有關。一個是public String[] split(String regex),入參居然是正則表示式!!!另一個坑與Pattern、Matcher類的操作有關。都是對java的正則表示式不夠熟悉導致。特地整理一下正則相關的知識。

一、什麼是正則表示式

  一個字串其實就是一個簡單的正則表示式,例如 “Hello World”就是一個正則表示式,它匹配 “Hello World” 字串(匹配自身)。

  正則表示式(字串)中往往含有特殊意義的字元,這些特殊字元被稱為元字元。比如,“\\dcat”中的\\d就是元字元,代表0-9中的任何一個。字串“0cat”、“1cat”等都是和正則表示式“\dcat”匹配的字串。

二、元字元表及意義

元字元 在正則表示式中的寫法 意義
. . 代表任何一個字元。
\d \d 代表0至9的任何一個數字
\D \\D 代表任何一個非數字的字元
\s \\s 代表空格類字元,比如’\t’ 、’\n’ 、’\f’ 、’\r’等
\S \\S 代表非空格類字元
\w \\w 代表可用於識別符號的字元(不包括美元符號