正則表達式
正則表達式(regex)是使用字符串來描述、匹配一系列符合某個句法規則的字符串
用途:匹配、切割、替換、獲取字符串
正則表達式由一些普通字符和一些元字符組成。
常見元字符
^ 匹配輸入字符串的開始位置
$ 匹配輸入字符串的結束位置
\d 匹配一個數字字符。等價於[0-9]
\D 匹配一個非數字字符。等價於[^0-9]
\s 匹配任何空白字符,包括空格、製表符、換頁符等等。等價於[ \n\r\t\f]
\S 匹配任何非空白字符。等價於[^\n\r\t\f]
\w 匹配包括下劃線的任何單個字符。等價於"[A-Za-z0-9]"
\W 匹配任何非單個字符。等價於“[^A-Za-z0-9]”
. 匹配除“\r\n”之外的任何單個字符
{n} n是一個非負整數。匹配確定的n次
{n,} n是一個非負整數。至少匹配n次
{n,m} m和n均爲非負整數,其中n<=m。最少匹配n次且最多匹配m次
- 匹配前面的子表達式零次或多次(大於等於0次)
- ? 匹配前面的子表達式零次或一次
- 匹配前面的子表達式一次或多次(大於等於1次)
“\”的理解
在Java中反斜線”\”有三種含義:
- 反斜線後面可以加特定字符,組成所謂的“轉義字符”。eg: \n \t
- 用於取消元字符的意義,使元字符變爲普通字符。eg: “\” 代表”\”。
- 用於組成正則表達式中的元字符。
eg: “\d” 在正則表達式中代表“匹配一個數字字符”。
Pattern類與Matcher類- Pattern類與Matcher類都在java.util.regex包 中定義。
- Pattern類的對象代表正則表達式編譯之後的對象;Matcher類主要用於執行驗證。
- Pattern類的主要方法:
public static Pattern compile(String regex);
public Matcher matcher(CharSequence input)
Matcher類的主要方法:
public boolean matches();
String類對正則表達式的支持
1.public boolean matches(String regex)判斷字符串是否與給定的正則表達式匹配。
2.public String replaceAll(String regex,String replacement) 字符串替換
3.public String[] split(String regex) 字符串拆分