一、正則表達式簡介
正則表達式是一個很常見的技術,用于在各種字符串的規(guī)則匹配中
二、在Java中使用正則表達式
我們需要匹配的都是字符串,很方便地是java內置了正則表達式匹配的函數即String實例的matches(String regx)方法,參數是匹配的規(guī)則
三、匹配規(guī)則
1、入門
(1)字符類
- 任意字符:用“.”表示一個任意字符,比如"a.c"就表示的就是以a開頭以c結尾中間有一個任意字符的字符串
- 常用字符:常用字符有三種:數字、英文和下劃線,用"\w"表示一個常用字符
- 空格符:空格符有兩種:空格和tab,用“\s”表示一個空格符
(2)數字
- 數字:用"\d"表示一個數字
- 非數字:用“\D”表示一個非數字
(3)多重匹配
上面的都是匹配的單個的字符或數字,而這種匹配在應用中過于單一且麻煩,下面介紹幾個多重匹配的情形
- 匹配任意個字符:在匹配單個字符的后面加上"*****"代表任意個這種字符
- 匹配至少一個字符:在匹配單個字符后面加上“+”表示至少有一個這種字符
- 匹配最多一個字符:在匹配單個字符后面加上“?”表示至多有一個這種字符
- 匹配指定個數個字符:在匹配單個字符后面加上“{n}”表示有n個這種字符
- 匹配指定范圍個數的字符:在匹配單個字符后面加上“{n,m}”表示有n~m個這種字符
2、高級
(1)開頭和結尾
在匹配規(guī)則前面加上“^”或“$”表示以這個規(guī)則為開頭或結尾
(2)范圍匹配
用中括號"[]"括起來的表示匹配這個范圍之內的,下面是常用的三種范圍
- [0-9]:匹配數字0-9
- [a-z]:匹配小寫英文字母
- [A-Z]:匹配大寫英文字母
如果在最開頭加上“^”表示非此范圍內匹配
(3)或匹配以及括號匹配
如果使用“|”將字符串或匹配規(guī)則分開,代表匹配其中的一種情況,一般和"()”配合使用
wwww