摘要:直接使用正則表達式對輸入的字符串進行匹配,匹配成功則返回使用正則表示式,進行字符串分割進行匹配操作,如果匹配成功,這三個方法都會返回其中,是在源字符串中找出和正則表達式匹配的字符串。
概念 正則表達式
在閱讀本文前,你應該已經了解了正則表達式的基本概念以及如何書寫正則表達式。如果對正則表達式不是太了解,或者想更深入地了解正則表示式,請點擊這里。
捕獲組捕獲組能夠讓我們方便地從正則表達式中提取出我們需要的內容。捕獲組根據字符出現的順序,從左往右開始進行編號。例如正則表達式((A)(B(C))), 其捕獲組分別為:
((A)(B(C)))
(A)
(B(C))
(C)
一個捕獲組通常是用括號包起來的部分,其中整個正則表示式是第一個捕獲組,可以選擇用括號包起來,也可以不用括號。除第一個捕獲組之外,其他捕獲組都需用括號包起來。
詳解Java正則表示式的使用 包簡介java.util.regex包中有一個interface,兩個class和一個exception,分別是
MatchResult
Pattern
Matcher
PatternSyntaxException
其中,MatchResult是interface, Matcher實現了這個interface。Pattern和Matcher是class,Pattern是一個正則表達式經編譯后的表現模式,Matcher是一個狀態機器。
Pattern compile(String regex) / compile(String regex, int flags)靜態方法,把一個正則表示式編譯后,生成一個Pattern對象實例
Patter p = Pattern.compile("d{2}"); p.pattern(); //返回 d{2}matcher(CharSequence input)
生成一個Matcher對象。Matcher類時不能直接實例化的,可以通過此方法實例化一個Matcher對象,從而進行各種操作。
matches(String regex, CharSequence input)直接使用正則表達式對輸入的字符串進行匹配,匹配成功則返回true
split(CharSequence input) / split(CharSequence input, int limit)使用正則表示式,進行字符串分割
Matcher find() / find(int start) / lookingAt()/matches()進行匹配操作,如果匹配成功,這三個方法都會返回true.其中,find()是在源字符串中找出和正則表達式匹配的字符串。find(int start)是從start位置開始尋找下一個匹配的字符串。lookingAt()是從源字符串的第一個字符進行匹配。matches()是對整個源字符串中進行匹配,如果都匹配才返回true。
String str="abcd23" Pattern.matches("w{4}d{2}",str); //快捷方式 Pattern p = Pattern.compile("w{4}d{2}"); Matcher m = p.matcher(str); //和上面的方法等價 m.matches();group() / start() / end()
當使用find() / find(int start) / lookingAt() / matches()進行匹配操作并返回true之后,才可以執行者三個方法獲取更加詳細的信息。
group():返回匹配到的字符串
start():返回匹配到的字符串在源字符串中的位置
end(): 返回匹配到的字符串的最后一個字符在源字符串中的位置
另外這幾個方法分別有一個重載方法 group(int i) / start(i) / end(i), 分別用于對第i個捕獲組進行對應的操作
替換源字符串中和正則表達式匹配的子字符串。其中replaceAll是替換所有的,replaceFirst是替換第一個匹配的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70539.html
摘要:并且在實際使用中,早于改歷之前的時間并沒用格里歷表式的習慣,都是換成儒略歷表達,所以類這樣的設計,等于說早于改歷的時間基本不能用的,還是得自己另外處理一遍。 時間戳只能計算 1970 年后的時間,由于需要計算更早的日期,發現 PHP 還有提供一個 DateTime類,但在使用中發現有問題。 1582年,因為舊歷精度問題,導致已經積累了十天的偏差,,所以此年10月5號~10月14號跳過,...
摘要:壓縮前綴樹其實就是將所有只有一個子節點的節點合并成一個,以減少沒有意義的類似鏈表式的鏈接。然后我們開始遍歷這個前綴樹。 Implement Trie Implement a trie with insert, search, and startsWith methods. Note: You may assume that all inputs are consist of lowe...
摘要:我們在中操作字符串,往往是將它轉換為數組,再操作,如字符串的反轉字符串常用的一些方法判斷一個字符串是否以某個字符串開頭返回在字符串中首次出現的位置從位置開始查找,如果不存在,則返回。如果則查找整個字符串如同傳進了。 我們在js中操作字符串,往往是將它轉換為數組,再操作,如: split().reverse().join() 字符串的反轉 showImg(https://segmentf...
摘要:創建應用對象之間協作關系的行為通常稱為裝配中有三種裝配的方法在中顯式配置在中顯式配置隱式的發現機制和自動裝配這兒要說的就是第三個自動發現與裝配,它會帶來編程的快感。 一、前言 Spring的Bean Factory所實現的IoC輕量級容器,可以很方便地讓大家基于POJO開發JavaEE應用程序。 創建應用對象之間協作關系的行為通常稱為裝配 Spring中有三種裝配Bean的方法 在X...
閱讀 1684·2021-11-23 09:51
閱讀 3174·2021-09-26 10:21
閱讀 798·2021-09-09 09:32
閱讀 881·2019-08-29 16:06
閱讀 3308·2019-08-26 13:36
閱讀 772·2019-08-26 10:56
閱讀 2564·2019-08-26 10:44
閱讀 1143·2019-08-23 14:04