Android 正則表達(dá)式,Pattern,Matcher基本使用

正則表達(dá)式:正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說,正則表達(dá)式就是記錄文本規(guī)則的代碼。

強烈建議博客:http://www.jb51.net/tools/zhengze.html


Pattern類

Pattern的創(chuàng)建:

Pattern pattern =Pattern.complie(String regex)

參數(shù)說明:regex:是一個正則表達(dá)式的字符串,(也是需要過濾或?qū)ふ易址恼齽t表達(dá)式)


Pattern的方法:

String regex=pattern.pattern();

方法說明:返回pattern實例對應(yīng)的正則表達(dá)式(創(chuàng)建的時候傳入的參數(shù):regex);

字符串拆分:

String[] stringArray=pattern.split(CharSequence input);

方法說明:將input字符串根據(jù)pattern的規(guī)則拆分成數(shù)組;

方法參數(shù)說明:

? input --將被拆分的字符串;

? stringArray-拆分后得到的數(shù)組;

pattern--拆分規(guī)則:在input字符串中遇到與pattern匹配的字符串就會將input進行拆分;

示例:input-"1e1e1e1e2e5d2"

Pattern pattern =Pattern.complie("\d")

結(jié)果 ?stringArray為[e,e,e,e,e,d]


Matcher的創(chuàng)建:

在創(chuàng)建Matcher的時候,需要先創(chuàng)建Pattern;

Pattern pattern =Pattern.complie(String regex)

Matcher matcher=pattern.matcher( String imput);

Matcher方法說明:

Pattern?pattern=matcher.pattern();

方法說明:返回創(chuàng)建mathcer的pattern實例;


整體匹配:


Boolean boolean=matcher.matcher();

參數(shù)說明: boolean-只有整個matcher中的input字符串與pattern的匹配規(guī)則完全匹配的時候返回true,否則返回false;


局部匹配:

Boolean boolean=matcher.find();

參數(shù)說明: boolean-當(dāng)matcher中的input字符串具有與pattern的規(guī)則匹配的時候返回true,否則返回false;

當(dāng)boolean為true的時候,我們可以調(diào)用

matcher.start();返回匹配到的子字符串在字符串中的索引位置

.matcher.end();返回匹配到的子字符串的最后一個字符在字符串中的索引位置

matcher.group();返回匹配到的子字符串

注意:當(dāng)多次調(diào)用find()的時候,會在字符串中尋找下一個能夠匹配這則表達(dá)式的子字符串;


替換:

String over=matcher.replaceFirst(String instead);

參數(shù)說明:instead:將匹配到的第一處的字符串換成instead字符串

? ? ? ? ? ? ? ? ?over:替換后的字符串;

String over=matcher.replaceAll(String instead);

參數(shù)說明:instead:將匹配到所有的字符串換成instead字符串

? ? ? ? ? ? ? ? ?over:替換后的字符串;

String StringBuffer=matcher.appendReplacement();

將替換位置處及之前位置處的字符復(fù)制到StringBuffer中;

String StringBuffer=matcher.appendTail();

將替換位置之后的字符復(fù)制到StringBuffer


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • Java的正則表達(dá)式講解:(為了能看清,本文正則表達(dá)式用中文的句號代替英文句點) 英文句點符號:匹配單個任意字符。...
    紅姑娘閱讀 4,512評論 0 2
  • 最近學(xué)習(xí)到第 23 天了,還有 4 天時間我的 JavaSE 課程就要結(jié)束了,之后會有一個考試,需要復(fù)習(xí)一下,正好...
    SawyerZh閱讀 1,117評論 0 11
  • 起因 公司提出要更改部分界面。其中一個界面是嵌入了一個webView的。要求整個頁面都可以上下滾動,且一個UITe...
    橘花小茶閱讀 588評論 0 2
  • 一本梳理自身和金錢能量的心靈讀物,幫助你擯棄內(nèi)心深處的匱乏,重獲充裕和富有。 第一章 金錢與我,金錢與我們 1.我...
    愛看書的路大膽閱讀 1,075評論 0 1

友情鏈接更多精彩內(nèi)容