正则用例

匹配

匹配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分别表示第一个括号里边的内容以及第二个括号里边的内容。

你可能感兴趣的:(正则用例)