正則表達(dá)式是什么?用我的理解就是一個(gè)表達(dá)式。用來(lái)匹配,替換,判斷字符串,之前業(yè)務(wù)就出現(xiàn)過(guò)判斷返回值是否為郵箱。在程序開(kāi)發(fā)中,難免會(huì)遇到需要匹配、查找、替換、判斷字符串的情況發(fā)生,而這些情況有時(shí)又比較復(fù)雜,如果用純編碼方式解決,往往會(huì)浪費(fèi)程序員的時(shí)間及精力。因此,學(xué)習(xí)及使用正則表達(dá)式,便成了解決這一矛盾的主要手段。
正則表達(dá)式是一種可以用于模式匹配和替換的規(guī)范,一個(gè)正則表達(dá)式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它 用以描述在查找文字主體時(shí)待匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配。
自從jdk1.4推出java.util.regex包,就為我們提供了很好的java正則表達(dá)式應(yīng)用平臺(tái)。
java正則表達(dá)式的語(yǔ)法與示例
匹配驗(yàn)證-驗(yàn)證email是否正確
public static void main(string[] args) { // 要驗(yàn)證的字符串 string str = "[email protected]"; // 郵箱驗(yàn)證規(guī)則 string regex = "[a-za-z_]{1,}[0-9]{0,}@(([a-za-z0-9]-*){1,}\.){1,3}[a-za-z\-]{1,}"; // 編譯正則表達(dá)式 pattern pattern = pattern.compile(regex); // 忽略大小寫(xiě)的寫(xiě)法 // pattern pat = pattern.compile(regex, pattern.case_insensitive); matcher matcher = pattern.matcher(str); // 字符串是否與正則表達(dá)式相匹配 boolean rs = matcher.matches(); system.out.println(rs); }
在字符串中查詢字符或者字符串
public static void main(string[] args) { // 要驗(yàn)證的字符串 string str = "baike.bjpowernode.com"; // 正則表達(dá)式規(guī)則 string regex = "baike.*"; // 編譯正則表達(dá)式 pattern pattern = pattern.compile(regex); // 忽略大小寫(xiě)的寫(xiě)法 // pattern pat = pattern.compile(regex, pattern.case_insensitive); matcher matcher = pattern.matcher(str); // 查找字符串中是否有匹配正則表達(dá)式的字符/字符串 boolean rs = matcher.find(); system.out.println(rs); }
常用正則表達(dá)式
正則表達(dá)式語(yǔ)法
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。