包java.util.regex中提供了正則表達式相關API。
正則表達式是什么?正則表達式描述了一組具有共同特征的字符串。
三個重要的類:
- Pattern
經過編譯的正則表達式,它沒有公開的構造器,調用靜態(tài)方法compile返回一個Pattern對象,compile方法接受一個正則表達式的字符串 - Matcher
引擎,解釋Pattern對象,執(zhí)行匹配操作,不提供公開構造方法,調用Pattern對象的matcher方法返回一個Matcher對象 - PatternSyntaxException
不受檢查的異常對象,表示正則表達式有語法錯誤
元字符
元字符有< > ( ) [ ] { } + - * \\ ^ = $ ! ? | .
我的記憶方法是將元字符分為兩部分,括號和一串沒有規(guī)律的字符。
對于沒有規(guī)律的字符串,我的口訣心法是:加減乘除冪運算,一共等于十萬美元,我很驚訝,很疑惑,或許該補上一個小數點??傊约呵宄蚈K~O(∩_∩)O
將元字符作為普通字符使用的方式:
- 在元字符前使用反斜杠
- 在元字符前后分別使用
\\Q和\\E,表示引用的開始和結束
分組
分組,是指用方括號包含的一組字符,用這些字符去匹配輸入字符串中的一個單一字符
-
簡單分組
在方括號中并排列舉一些字符,比如
[abc],匹配字母a、b或c中的任意一個。舉個列子,正則表達式
[bcr]at將匹配bat、cat或rat,但不能匹配hat。這個正則表達式的意義是:以b、c或r字母開始,且緊跟at的字符串
未完待續(xù)……