正規表示式用於操作字串的規則,這些規則由一些符號所組成。使用正規表示式可以進行更複雜的操作,而且這種複雜的操作要比方法短的多。
功能:1,匹配。使用的是string類中的matches方法。
2,切割。使用的string類split方法。
3,替換。
4,查詢。
1,將正則規則通過pattern類中的static方法complie,封裝成pattern物件,
2,通過pattern類中matcher方法與字串相關聯,獲取匹配器物件。
3,通過匹配器的方法來操作字串。如:find是否找到,group取去匹配後的字串。
其實string類中有關正規表示式的方法,底層都是先將傳入的正則規則封裝成pattern物件。
然後通過pattern物件獲取matcher物件,在呼叫matcher的方法完成的。
示例:
/*
獲取檔案中的email位址。
思路:1,既然要讀取是乙個檔案,需要使用字元流。filereader。bufferedreader。
3,將email位址進行儲存。
*/ public static void getmail()throws ioexception
}} /*
* 校驗郵件
*/public static void checkmail()
/*192.168.1.253 10.10.10.10 127.0.105.1 2.2.2.2 30.30.30.30
將這些ip位址按照ip位址段的順序排序。
*/ public static void ipsort()
)","$1");
system.out.println(ip); 010.010.010.010 127.000.105.001 002.002.002.002 030.030.030.030
//通過空格進行切割。
string arr = ip.split(" ");
treesetts = new treeset();
for(string s: arr)
for(string s : ts)
}/* * 替換:使用指定字串替換符合規則的字串。
* 將疊詞多個替換成乙個
*/public static void replacereg()
/** 切割:按照指定規則字串。
*/public static void splitstr() }
/* 查詢:獲取字串中指定的三個單詞。
思路:想要獲取指定單詞,使用匹配是不可以的,因為符合要求的結果不是boolean類,而是很多單個字串。
這時就要使用正規表示式物件。pattern。
*/ public static void getword()
\\b";
//1,將正規表示式封裝成pattern。使用pattern物件中 compile方法。
pattern p = pattern.compile(reg);
//2,將正則物件和字串進行關聯。使用的matcher方法。該方法會返回乙個匹配器物件matcher。
matcher m = p.matcher(str);
//3,使用匹配器物件的find方法去找是否有符合規則的內容。通過group獲取查詢到的字串。
while(m.find())
}/* * 校驗**。
*/public static void checktel()
"; system.out.println(tel.matches(telreg));
} /*
* 演示數量詞。
*/public static void checkstr()
b";//true,c只能出現3次
string strreg2 = "ac*b";//true, * c出現0次或者多次都可以。
string strreg3 = "ac?b";//false, ? 表示 c出現1次或者0次。
string strreg4 = "ac+b";//true ,+ 表示 c出現1次或者多次。
system.out.println("str="+str.matches(strreg1));
system.out.println("str="+str.matches(strreg2));
system.out.println("str="+str.matches(strreg3));
system.out.println("str="+str.matches(strreg4));
} /*
*普通方法判斷乙個qq號,要求:5~15,不可以0開頭,必須都是數字。
*/public static void checkqq(string qq)
catch (numberformatexception e)
}else
system.out.println("no 0 start");
} else
system.out.println("qq len nono"); }
/* * 正規表示式判斷乙個qq號
*/public static void checkqqbyreg()
"; boolean b = qq.matches(qqreg);
// pattern p = pattern.compile(qqreg);
// matcher m = p.matcher(qq);
// boolean b2 = m.macthes();
}
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式總結
常用正規表示式總結 w w w 驗證 號碼 d d d 正確格式為 x x xx x xx x 和 xx 驗證身份證號 15位或18位數字 d d 驗證一年的12個月 0?1 9 1 0 2 正確格式為 01 09 和 1 12 驗證乙個月的31天 0?1 9 1 2 0 9 30 31 正確格式為...
正規表示式總結
對於正規表示式,可以說是前段工作的sql,非常重要。下面簡述一下需要注意的規則 表1.常用的元字元 說明.匹配除換行符以外的任意字元 w匹配字母或數字或下劃線或漢字 s匹配任意的空白符 d匹配數字 b匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 表2.常用的限定符 語法說明 重複零次或更多次...