一、正則表達(dá)式主要是用于操作字符串的規(guī)則,正則表達(dá)式對字符串的操作主要有一下幾種應(yīng)用: 1、匹配:matches(String regex); 2、切割:split(String regex); 3、替換:replaceAll(String regex, String replacement); 4、查找:
二、匹配: 需求1:編寫一個正則表達(dá)式匹配手機(jī)號(要求:第一位只能是1開頭,第二位3、4、5、7、8,全是數(shù)字,長度11位)
public static void matchesPhone(String phone){ String reg = "1[34578]//d{9}"; System.out.需求2:匹配固定電話:區(qū)號-主機(jī)號(要求:區(qū)號:首位是0,長度:3~4。主機(jī)號:首位不能是0,長度:7~8)public static void matchesTel(String tel){ String reg = "0//d{2,3}-[1-9]//d{6,7}"; System.out.println(tel.matches(reg)?"固話可以使用!":"固話非法!");}三、切割:
分組概念解析: 
四、替換: 
五、查找: 1、引入: 介紹查找之前我們先引入這樣第一個概念——單詞邊界匹配器,/b,單詞邊界匹配器只是代表了單詞開始或者結(jié)束部分,不匹配任何的字符。 
2、查找: 指定為字符串的正則表達(dá)式,必須首先被編譯為此類的實例。然后,可將得到的正則對象匹配任意的字符串用于創(chuàng)建Matcher對象,執(zhí)行匹配所涉及的所有狀態(tài)都駐留在匹配器中,所以多個匹配器可以共享同一模式。 1)因此典型的調(diào)用順序是: Pattern p = Pattern.compile(“正則”); Matcher m = p.matcher(“aaaaab”); boolean b = m.matches(); 2)查找需要使用的對象: Pattern(正則表達(dá)式)、Matcher(匹配器對象) 3)匹配器要使用到的方法: find() 通知匹配器去匹配字符串,查找符合規(guī)則的字符串。如果能查到符合規(guī)則的字符串,則返回true,否則返回false。 group() 獲取符合規(guī)則的子串。
4)注意:使用group()方法的時候,一定要先調(diào)用find()方法讓匹配器去查找符合規(guī)則的字符串,否則報錯。 
六、應(yīng)用——模擬網(wǎng)絡(luò)爬蟲 1、需求:模擬網(wǎng)絡(luò)爬蟲(網(wǎng)絡(luò)蜘蛛),獲取所要格式的郵箱(郵箱后綴:.com .cn .com.cn .net)
2、代碼實現(xiàn):
public class Demo8 { public static void main(String[] args) { String content = "如有需求請聯(lián)系5858585@QQ.cn如有需求請聯(lián)系654321@qq.com.cn如有需求請聯(lián)系123456@qq.com" +"如有需求請聯(lián)系654321@qq.com.cn如有需求請聯(lián)系666666@qq.net"; String reg = "[a-zA-Z1-9]//w{5,17}@[a-zA-Z0-9]{2,}(//.(com|cn|net)){1,2}"; //把字符串的正則編譯成正則對象 Pattern p = Pattern.compile(reg); //使用正則對象產(chǎn)生匹配器對象 Matcher m = p.matcher(content); while(m.find()){ System.out.println(m.group()); } }}新聞熱點
疑難解答