正規表示式總結

2021-06-01 19:25:57 字數 2772 閱讀 1912

正規表示式用於操作字串的規則,這些規則由一些符號所組成。使用正規表示式可以進行更複雜的操作,而且這種複雜的操作要比方法短的多。

功能: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.常用的限定符 語法說明 重複零次或更多次...