java正則表達
阿新 • • 發佈:2020-07-10
1.1 正則表示式的匹配規則
正則表示式中明確區分大小寫字母。
public static void main(String[] args) { //描述規則 /*11位的手機號碼, 第1位為1,第2位為3、4、5、7、8中的一個, 後面9位為0到9之間的任意數字。*/ String reg="[1][34578][0-9]{9}";//如果一位可以去中括號 String phone="15275971792"; boolean f=phone.matches(reg); System.out.println(f); //0不能開頭,5-15位String qq="[1-9][0-9]{4,14}"; String me="1416413863"; boolean q=me.matches(qq); System.out.println(q); //郵箱:qq號@qq.com String r="[1-9a-zA-Z][\\w]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; //String r="[1-9a-zA-Z][0-9a-zA-Z_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; String email="[email protected]";boolean em=email.matches(r); System.out.println(em); }
字串類中涉及正則表示式的常用方法
l public boolean matches(String regex) //判斷字串是否匹配給定的規則
校驗qq號碼. 1: 要求必須是5-15位數字 2: 0不能開頭 程式碼: String qq = "604154942"; String regex = "[1-9][0-9]{4,14}"; boolean flag2 = qq.matches(regex);
l public String[] split
分割出字串中的的數字 程式碼演示: String s = "18-22-40-65"; String regex = "-"; String[] result = s.split(regex); 程式碼演示: String s = "18 22 40 65"; String regex = " "; String[] result = s.split(regex);
String ip="192.168.1.171"; String reg="\\."; String[] strs=ip.split(reg); for(int i=0;i<strs.length;i++){ System.out.println(strs[i]); }
l public String replaceAll(String regex,String replacement) //將符合規則的字串內容,全部替換為新字串
舉例:把文字中的數字替換成* 程式碼演示: String s = "Hello12345World6789012"; String regex = "[0-9]"; String result = s.replaceAll(regex, "*");
String str="hello123a5aa6bb78"; String reg="[0-9]"; String s=str.replaceAll(reg, "*"); System.out.println(s);