java 正则 d 1_Java01-正则表达式

1.正则表达式的概念

1:正则表达式,(Regular Expression)缩写为regex。

2:正则表达式是一个字符串,用来定义规则,匹配一系列符合语法规则的字符串。

3:在开发中,正则表达式通常被用来检索、替换符合规则的文本。

2.正则表达式的规则

表达式含义\\表示\

\t制表符,相当于TAB

\n换行

\r光标来到下一行的行首

[abc]匹配adc中的一个

[^abc]匹配除了adc的所有字符中的一个

[a-zA-Z]匹配52个字母中的一个

[0-9]匹配0-9中的一个

[a-zA-Z_0-9]匹配52个字母或者0-9或者_(下划线)中的一个

3.预定义字符

预定义字符含义.匹配任意一个字符,使用\\.

\d匹配0-9中的一个

\w相当于[a-zA-Z_0-9]

^代表行的开头([0-9]$)

$代表行的结尾([0-9]$)

\b单词的边界(\b[adc]\b)adc左右需要一个非\w

x?一次或者一次也没有

x*零次或者多次

x+一次或者多次

x{n}x恰好出现n次

x{n,}x至少出现n次

x{n,m}x出现n-m次

4.正则的练习

表达式含义[0-9]{6,12}123456(true),12345(false)

1[345678][0-9]{9}手机号

a*baaaab(true),abc(false)

\\d+正整数

\\d+\\.\\d+正小数

-\\d+负整数

\\d+\\.+\\d{2}保留两位小数的整数

\\d+\\.+\\d{1,3}保留1-3位小数的整数

5.正则表达式的方法

1:boolean matcher(String 正则的规则);

2:String[] split(String 正则的规则);按照规则进行分割

3:String replaceAll(String 正则的规则,String str);安装正则规则进行替换

6.正则表达式的匹配使用

/**

* 匹配qq号 第一位不是0 一共5-10位

* \d -> \会将d转义

* 使用\\d 第一个\,将第二个\转义为,普通的\

*

* \D 匹配非数组

*/

public static void run1(){

String qq = "145678945";

boolean b = qq.matches("[1-9][\\d]{4,9}");

System.out.println(b); //true

}

/**

* 匹配手机号

* 第一位是1 第二位是34578 一共11位

*/

public static void run2(){

String s = "14456789456";

boolean b = s.matches("1[34578][\\d]{9}");

System.out.println(b);

}

/**

* 匹配邮箱

* 219305625x@qq.com

* 219305625x@163.com

* 219305625x@qq.com.cn

*/

public static void run3(){

String mail = "219305625x@qq.com.cn";

boolean b = mail.matches("[\\w]+@[a-z]+(\\.[a-z]+)+");

System.out.println(b);

}

7.字符表达式的切割使用

/**

* 切割ip

* \\. 要将.转义,使用\,要输入一个\,必须输入\\

*/

public static void run2(){

String str = "192.168...124";

String[] strings = str.split("\\.+");

for(int i = 0;i < strings.length;i++){

System.out.println(strings[i]);

}

}

8.字符表达式的替换使用

public static void run(){

String s = "hel34456lo33333word";

s = s.replaceAll("[\\d]+","#");

System.out.println(s);

}

标签:qq,匹配,String,Java01,正则表达式,void,println

来源: https://blog.csdn.net/qq_44637792/article/details/111827121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值