匹配
匹配QQ号:
要求:
1>首位为非0数字
2>长度为5到15位,全部为数字。
System.out.println(qq.matches("[1-9]\\d{4,14}"));
解释:[1-9]表示首位数字只能是1-9,\表示转义,\d表示数字,{4,14}表示数量为4-14次。
匹配电话号:
要求:
1>首位为1
2>第二位为3或8
3>一共为11位,全部为数字
System.out.println(qq.matches("1[38]\\d{9}"));
解释:1表示首位为1,[38]表示可以使3或者8,\表示转义,\d表示数字,{9}表示前边数字有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("-")
注释:“-”就是正则的规则。
2>要求把字符串“18.24”分割成“18”和“24”;
qq.split("\\.")
注释:需要注意用电分割的正则需要进行转义为“\.”,然而在字符串中\也需要转义。
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分别表示第一个括号里边的内容以及第二个括号里边的内容。