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

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



相关文章
|
1月前
|
监控 Java Python
Java 中的正则表达式
正则表达式是Java中强大的文本处理工具,支持灵活的匹配、搜索、替换和验证功能。本文介绍了正则表达式的语法基础及其在Java中的应用,包括字符串匹配、替换、分割及实际场景中的邮箱验证和电话号码提取等示例。通过这些技术,可以显著提高文本处理的效率和准确性。
112 8
|
1月前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
2月前
|
Java API 开发者
Java中的Lambda表达式:简洁代码的利器####
本文探讨了Java中Lambda表达式的概念、用途及其在简化代码和提高开发效率方面的显著作用。通过具体实例,展示了Lambda表达式如何在Java 8及更高版本中替代传统的匿名内部类,使代码更加简洁易读。文章还简要介绍了Lambda表达式的语法和常见用法,帮助开发者更好地理解和应用这一强大的工具。 ####
|
2月前
|
并行计算 Java 编译器
深入理解Java中的Lambda表达式
在Java 8中引入的Lambda表达式,不仅简化了代码编写,还提升了代码可读性。本文将带你探索Lambda表达式背后的逻辑与原理,通过实例展示如何高效利用这一特性优化你的程序。
|
2月前
|
搜索推荐 Java API
探索Java中的Lambda表达式
本文将深入探讨Java 8引入的Lambda表达式,这一特性极大地简化了代码编写,提高了程序的可读性。通过实例分析,我们将了解Lambda表达式的基本概念、使用场景以及如何优雅地重构传统代码。文章不仅适合初学者,也能帮助有经验的开发者加深对Lambda表达式的理解。
|
2月前
|
Java
探索Java中的Lambda表达式
【10月更文挑战第37天】本文将带你深入理解Java的Lambda表达式,从基础语法到高级特性,通过实例讲解其在函数式编程中的应用。我们还将探讨Lambda表达式如何简化代码、提高开发效率,并讨论其在实际项目中的应用。
|
2月前
|
Java API
Java中的Lambda表达式与函数式编程####
【10月更文挑战第29天】 本文将深入探讨Java中Lambda表达式的实现及其在函数式编程中的应用。通过对比传统方法,我们将揭示Lambda如何简化代码、提高可读性和维护性。文章还将展示一些实际案例,帮助读者更好地理解和应用Lambda表达式。 ####
|
2月前
|
JSON 自然语言处理 Java
这款轻量级 Java 表达式引擎,真不错!
AviatorScript 是一个高性能、轻量级的脚本语言,基于 JVM(包括 Android 平台)。它支持数字、字符串、正则表达式、布尔值等基本类型,以及所有 Java 运算符。主要特性包括函数式编程、大整数和高精度运算、完整的脚本语法、丰富的内置函数和自定义函数支持。适用于规则判断、公式计算、动态脚本控制等场景。
|
2月前
|
Java API 开发者
Java中的Lambda表达式与函数式编程####
在Java的演变过程中,Lambda表达式和函数式编程的引入无疑是一次重大的飞跃。本文将深入探讨Lambda表达式的定义、用法及优势,并结合实例说明如何在Java中利用Lambda表达式进行函数式编程。通过对比传统编程方式,揭示Lambda表达式如何简化代码、提高开发效率和可维护性。 ####
|
1月前
|
安全 Java API
Java中的Lambda表达式:简化代码的现代魔法
在Java 8的发布中,Lambda表达式的引入无疑是一场编程范式的革命。它不仅让代码变得更加简洁,还使得函数式编程在Java中成为可能。本文将深入探讨Lambda表达式如何改变我们编写和维护Java代码的方式,以及它是如何提升我们编码效率的。