java正则表达式及api_Java API 之 正则表达式
一、基本概念
在項目中我們經(jīng)常性做的一件事是“匹配”字符串
比如:
1、我們要驗證用戶輸入的手機號是否合法?
2、驗證設置的密碼是否符合規(guī)則?
3、或者替換指定字符串中的一些內(nèi)容。
這么一看,似乎正則表達式就是在查找、處理字符串。
二、如何使用
1、首先,我們需要定義一個模板(Pattern),這個模板描述了需要匹配的字符串的規(guī)則,這就是正則表達式。
2、模板有了,我們需要將要匹配的內(nèi)容和模板一起創(chuàng)建一個匹配器(Matcher)。
3、最后執(zhí)行匹配獲得返回的結果。
按照以上的步驟,我們寫一個簡單的示例:
importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***@authorlay
* @date 2018/4/10.
* @time 17:19*/
public classRegexDemo {public static voidmain(String[] args) {//寫一個正則模板
Pattern pattern = Pattern.compile("name");//獲取一個匹配器
Matcher matcher = pattern.matcher("name");//執(zhí)行操作
boolean isMatch =matcher.matches();//打印結果
System.out.println("isMatch=" +isMatch);
}
}
在這個示例中:
1、我們使用Pattern類提供的方法compile()編譯出正則表達式"name",返回一個Pattern模板類;
2、通過pattern模板類的matcher()方法獲取匹配器,傳入待處理的內(nèi)容"name";
3、匹配器調(diào)用方法matches()返回匹配結果。
4、最后打印結果為:isMatch=true
三、學習內(nèi)容
由以上的示例,我們可以了解到,對于Java的正則表達式我們需要學得的內(nèi)容有:
1、正則表達式如何寫;
2、Pattern類的使用;
3、Matcher類的使用;
四、正則表達式如何寫;
在查看API文檔的時候,介紹正則表達式語法的是這樣的:\d 表示數(shù)字,\s表示空白字符
那問題在于,我們使用Pattern類的complie()方法來創(chuàng)建模板,而compile()方法需要傳入的是一個字符串,例如:
Pattern pattern = Pattern.compile("name");
這樣的話我們要怎么寫正則表達式語法呢?如下:
Pattern pattern = Pattern.compile("\\d");
我們看到,這里使用了 "\\d" 而不是語法說的 "\d"。我們可以這樣理解:在 Java 中,\\?表示:我要插入一個正則表達式的反斜線,所以其后的字符具有特殊的意義。
例如:
\d -> \\d
\s -> \\s
\w -> \\w
正則表達式的語法可以參考:
五、Pattern類和Matcher類的使用
前面我們說了,pattern類是為了編譯模板,matcher用于構建匹配器。其實就是示例化類,然后調(diào)用類的方法。比如:
1、匹配是否有某個字符串:boolean isMatched = matcher.matches();
2、替換字符串:String newStr = matcher.replaceAll("替換的內(nèi)容");
六、總結
正則表達式即是為了匹配處理字符串而出現(xiàn)的,我們要做的即:
1、構造模板;2、構造匹配器;3、使用匹配器提供的方法處理字符串;
總結
以上是生活随笔為你收集整理的java正则表达式及api_Java API 之 正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium ruby和java_S
- 下一篇: 简单网络聊天程序java_基于Java实