匹配
匹配QQ號:
要求:
1>首位為非0數(shù)字
2>長度為5到15位说铃,全部為數(shù)字。
System.out.println(qq.matches("[1-9]\\d{4,14}"));
解釋:[1-9]表示首位數(shù)字只能是1-9,\表示轉(zhuǎn)義熬荆,\d表示數(shù)字歹河,{4攒岛,14}表示數(shù)量為4-14次论寨。
匹配電話號:
要求:
1>首位為1
2>第二位為3或8
3>一共為11位星立,全部為數(shù)字
System.out.println(qq.matches("1[38]\\d{9}"));
解釋:1表示首位為1,[38]表示可以使3或者8政基,\表示轉(zhuǎn)義,\d表示數(shù)字闹啦,{9}表示前邊數(shù)字有9位沮明。
匹配郵箱:
要求:
1>@和“.”需要挨著
2>.后邊跟著2到3位字符
3>@號前邊必須是字符
System.out.println(qq.matches("\\w+@\\w{2,6}(\\.\\w{2,3})+"));
\\w表示普通字符,+表示一次或多次窍奋;\\w{2,6}表示普通字符2到6次荐健;(\\.\\w{2,3})+表示點加普通字符2到3次。
分割
要求:
1>把字符串“18-24”分割成“18”和“24”琳袄;
qq.split("-")
注釋:“-”就是正則的規(guī)則江场。
2>要求把字符串“18.24”分割成“18”和“24”;
qq.split("\\.")
注釋:需要注意用電分割的正則需要進行轉(zhuǎn)義為“\.”窖逗,然而在字符串中\(zhòng)也需要轉(zhuǎn)義址否。
3>要去把“18 ? ?24 ? ? ? ? ? ? ? ? 36”分割成“18”,“24”和“36”碎紊。
qq.split(" +")
注釋:“ ”加“+”表示用一個或多個空格來進行分割字符串佑附。
替換
1>把"12-34"替換成"12*34"
System.out.println(qq.replaceAll("-+","*"));
注釋:"-+"代表一個或者多個"-"樊诺,表達式的意思是把一個火多個"-"替換成"*"
2>b"12---34"替換成"12***34"
System.out.println(qq.replaceAll("-","*"));
注釋:"-"代表一個"-",表達式的意思是把"-"替換成"*"
3>把手機號的中間四位替換成"****"
mobile = mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
注釋:$1,$2分別表示第一個括號里邊的內(nèi)容以及第二個括號里邊的內(nèi)容。