Java正则表达式(一看就懂)(上)

简介: 看了热榜正则表达式都上榜了目前正则表达式榜一是Python的 经过这几天呕心沥血不眠不休 终于今天Java的正则表达式它来了 还有练习题 耗时9981个小时 都是干货 赶紧收藏起来!!!!

它来了!!!

       看了热榜正则表达式都上榜了目前正则表达式榜一是Python的 经过这几天呕心沥血不眠不休 终于今天Java的正则表达式它来了 还有练习题 耗时9981个小时 都是干货 赶紧收藏起来!!!!

1.概念

正则表达式:正确规则的表达式

通常用来检测字符串是否符合某规则、根据某规则切分字符串 或 替换符合规则的文本

 

例如:

检查校验字符串中的 QQ 号是否如何如下规则:

①必须为 5~15 位数字

②不能以 0 开头

若使用之前代码:

以上要求就可以变成一个正则表达式:[1-9][0-9]{4,14}

通过正则表达式,我们就可以检查字符串中的 QQ 号是否符合要求了。

2.字符串正则的常用方法

举例:校验手机号码

1:要求为 11 位数字

2:第 1 位为 1,第 2 位为 3、4、5、7、8 中的一个,后面 9 位为 0 到 9 之间的任意数字。

代码演示:

String phone = "18810022666";

String regex = "1[34578][0-9]{9}";

boolean flag = phone.matches(regex);

方法名  描述 
boolean matches(String regex) 当前字符串是否匹配给定的正则表达式
String replaceAll(String regex,String replacement) 使用 replacement 替换当前字符串中所有符号正则表
达式的内容 
String[] split(String regex) 根据给定的正则表达式拆分当前字符串

练习:

1、

举例:校验 qq 号码.

1:要求必须是 5-15 位数字

  2:0 不能开头

代码演示:

String qq = "604154942";

String regex = "[1-9][0-9]{4,14}";

boolean flag2 = qq.matches(regex);

2、

举例:校验手机号码

1:要求为 11 位数字

2:第 1 位为 1,第 2 位为 3、4、5、7、8 中的一个,后面 9 位为 0 到 9 之间的任意数字。

代码演示:

String phone = "18810022666";

String regex = "1[34578][0-9]{9}";

boolean flag = phone.matches(regex);

3、

举例:将字符串中的数字全部替换成!号

String str = "1a2b3c4d";

str = str.replaceAll("\\d", "!");

System.out.println(str);

4、

//根据空格切割字符串

String str = "我 很 帅";

String[] arr = str.split(" ");

for(int i=0;i

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

}

5、注意:.的正则写法必须为\\.

//根据.切割 IP 地址

String str = "192.168.11.88";

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

for(int i=0;i

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

}

      所以这些练习题你都学废了嘛

3.常见正则表达式

表达式  描述
^[a-z0-9_-]{3,16}$ 用户名 
^[a-z0-9_-]{6,18}$  密码 
^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$ 电子邮箱 
[\u4e00-\u9fa5] 匹配中文字符的正则表达式 

练习:

1、从控制台输入一个字符串。使用正则来对字符串进行一系列操作:

①判断字符串是否是一个合格的用户名

②将字符串中的数字用”#”号替代. 数字的正则:[0-9] 或者 \\d

③根据”#”号将字符串切割成字符串数组并遍历展示



相关文章
|
15天前
|
XML JSON 监控
Java语言中的正则表达式技术详解
Java语言中的正则表达式技术详解
|
2天前
|
Java
Java 8 新特性:深入理解 Lambda 表达式的强大与应用
Java 8 新特性:深入理解 Lambda 表达式的强大与应用
7 2
|
2天前
|
Java Perl
java 正则表达式
java 正则表达式
10 2
|
3天前
|
XML Java API
正则表达式在Java中的使用(二)
正则表达式在Java中的使用(二)
7 1
|
3天前
|
小程序 Java API
正则表达式在Java中的使用(一)
正则表达式在Java中的使用(一)
7 1
|
3天前
|
存储 Java 编译器
Java8实战-Lambda表达式
Java8实战-Lambda表达式
5 0
|
4天前
|
Java 开发者
Java中的Lambda表达式和函数式接口
在Java 8中,Lambda表达式的引入为Java带来了前所未有的便利性。它允许开发者以更简洁、更高效的方式处理集合、线程等。本文将深入探讨Lambda表达式的概念、用法以及与函数式接口的关系,帮助读者更好地理解和应用这一特性。
|
5天前
|
Java 开发者
探索Java中的Lambda表达式和函数式接口
本文深入探讨了Java 8中引入的Lambda表达式及其与函数式接口的关系,旨在帮助开发者更好地理解这一特性如何简化代码、提高可读性和开发效率。文章首先介绍Lambda表达式的基本概念和语法,然后详细解释函数式接口的定义及其在Java中的应用,最后通过实例展示Lambda表达式在实际编程中的运用。
|
12天前
|
自然语言处理 Java
12. 【Java教程】Java 表达式、语句和块
12. 【Java教程】Java 表达式、语句和块
9 0
|
14天前
|
Java
蓝易云 - Java-Lambda表达式
这将输出 "Hello world"。这就是Java中Lambda表达式的基本用法。
28 2