Regex正则表达式 --java学习笔记

正则表达式

  • 由一些特定字符组成,代表的是一个规则
  • 作用一:校验数据格式是否合法
  • 作用二:在一段文本中查找满足要求的内容

String提供了一个匹配正则表达式的方法

public boolean matches(String regex(正则表达式))    判断字符串是否匹配正则表达式,匹配返回true,否则false

正则表达式的书写规则:

案例1

需求:检验用户输入的电话、邮箱、时间是否合法

代码:

import java.util.Scanner;public class CheckPhoneEmailTime {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (true) {System.out.print("请输入你要校验的手机号码or邮箱or时间(输入0退出):");String str =  sc.nextLine();if(str.equals("0")) break;if(str.matches("(1[3-9]\\d{9})|" +    //手机号码"0\\d{2,3}-?[1-9]\\d{6,7}|" +        //座机号码"\\w{2,}@\\w{2,20}\\.\\w{2,10}|" +   //邮箱号码"([0-1]\\d)|(2[0-4])((:)|(-)|(\\.))[0-5]\\d((:)|(-)|(\\.))[0-5]\\d"))  //时间格式System.out.println("格式正确");elseSystem.out.println("格式错误");}}
}

运行结果:

案例2

import java.util.Arrays;public class Regex_test {public static void main(String[] args) {// public String replaceAll(String regex , String newStr); 按照正则表达式匹配的内容进行替换//1.请把古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴 中间的非中文字符替换成"-"String s1 = "古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";System.out.println(s1.replaceAll("\\w+", "-")); //+表示一或多//2.请把我我我喜欢编编编编编编编编编编编编程程程! 替换成我喜欢编程!
//        (.) 匹配任意字符, ()表示一组
//        \\1  为这个组声明一个组号:1   标记它
//        {2,}  表示这个字至少出现俩次
//        $1取出标记的那个组的内容String s2 = "我我我喜欢编编编编编编编编编编编编程程程!";System.out.println(s2.replaceAll("(.)\\1{2,}", "$1"));//public string[]split(string regex):按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。//3.请把 古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴  中的人名获取出来。String s3 = "古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";System.out.println(Arrays.toString(s3.split("\\w+")));}
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Delft3D建模、水动力模拟方法及在地表水环境影响评价中的技术应用

​任博士,长期从事地表水数值模拟研究与实践工作,具有资深的技术底蕴和专业背景。 1、掌握Delft3D的建模流程,包括基础数据的准备、计算网格的制作、模型的调试与率定、计算结果的处理等,熟悉软件的基本操作。 2、熟悉Delft3D网…

18个惊艳的可视化大屏(第24辑):通讯行业的应用

实时监控: 可视化大屏可以实时监控通讯网络的运行状态和性能指标。通过可视化展示网络的拓扑结构、设备状态、带宽利用率、延迟等数据,运维人员可以及时发现和解决网络故障,保障通讯网络的稳定性和可靠性。 故障诊断与分析: 可视…

YOLOv8 | 有效涨点,添加GAM注意力机制,使用Wise-IoU有效提升目标检测效果(附报错解决技巧,全网独家)

目录 摘要 基本原理 通道注意力机制 空间注意力机制 GAM代码实现 Wise-IoU WIoU代码实现 yaml文件编写 完整代码分享(含多种注意力机制) 摘要 人们已经研究了各种注意力机制来提高各种计算机视觉任务的性能。然而,现有方法忽视了…

C语言例3-20:使用逻辑运算符的例子

代码如下&#xff1a; #include<stdio.h> int main(void) {int x3, y100;float f11.0f, f22.1f;char cd; //d(100)printf("!x 的值为&#xff1a; %d\n",!x); //0printf("x||y 的值为&#xff1a; %d\n",x||y); //1print…

ai怎么制作ppt?保姆级的ai一键生成ppt教程来了!

面对市面上多如牛毛的 ai 生成 ppt 软件&#xff0c;哪一款更适合日常使用呢&#xff1f;与此同时&#xff0c;在选定一款 ai 软件后&#xff0c;如何用 ai 制作 ppt&#xff0c;也是很多人第一次使用 pptai 工具会面临的具体问题。 就着这些问题&#xff0c;在接下来的文章中…

有哪些便宜的通配符(泛域名)证书?怎么申请?

通配符&#xff08;泛域名&#xff09;SSL证书就是用来保护一个主域名以及所有二级子域名的证书&#xff0c;相对于单域名证书更具有性价比。 主要优势在于&#xff1a; 一&#xff1a;一个整数覆盖所有子域名 仅仅用一张证书就可以保护一个主域名以及所有子域名&#xff0c;…

[AIGC] Spring Boot的切面编程可以用来解决哪些常见的问题?

Spring Boot切面编程的应用场景 Spring Boot的切面编程&#xff08;AOP&#xff09;有着诸多的应用场景。借助AOP&#xff0c;我们可以对多种类型和对象进行跨切面管理&#xff0c;例如事务管理。以下是一些常见的问题&#xff0c;我们可以使用Spring Boot的AOP来解决。 1. 日…

HPA数据库及HPAanalyze包使用

关于HPA数据库的介绍&#xff1a;Human Protein Atlas 数据库 – 王进的个人网站 (jingege.wang) The Human Protein Atlas 文献 HPAanalyze: an R package that facilitates the retrieval and analysis of the Human Protein Atlas data | BMC Bioinformatics | Full Text …

【JavaScript】requestAnimationFrame 实现表格的流畅滚动

效果 滚动视频demo 实现 // tableRow: 表格滚动的dom const tableRow ref<HTMLElement | null>(null);onMounted(() > {nextTick(() > {scroll();}); });// 自动滚动 const scroll () > {let isScroll true;// 帧动画实现滚动const step () > {if (isSc…

Java面试最强总结(常见面试问题与6条面试经验)

今天分享Java面试完整内容主要包含&#xff1a; 面试前的心态准备(3点建议)技术硬实力包含的范围(50题目)个人简历突出和优化(3点优化步骤)个人软实力的提升(6点提升维度)Java面试经验总结(1点总结) 总结的java面试资料下载地址&#xff1a;java面试资料 1. Java面试前的心态…

【PPO】近端策略优化【Clip版本,离散动作】

本博客代码参考了《动手学强化学习-PPO》 PPO算法是在Actor-Critic的基础上进行训练目标的调整。其改进的地方在于对每次参数更新进行了限制。 PPO 是 TRPO 的一种改进算法&#xff0c;它在实现上简化了 TRPO 中的复杂计算&#xff0c;并且它在实验中的性能大多数情况下会比 …

服务模块划分规范

一、PO :(persistant object )&#xff0c;持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。 二、VO :(value object) &#xff0c;值对象 通常用于业务层之间的数据传递&#xff0c;和PO一样也是仅仅包含数据而已。但应是抽象出的…

功能问题:如何用Docker部署一个后端项目?

大家好&#xff0c;我是大澈&#xff01; 本文约1800字&#xff0c;整篇阅读大约需要3分钟。 关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费加入问答群&#xff0c;一起交流技术难题与未来&#xff01; 现在关注公众号&#xff0c;免费送你 ”前后端入行大礼包…

老卫带你学---leetcode刷题(204. 计数质数)

204. 计数质数 问题 示例 1&#xff1a; 输入&#xff1a;n 10 输出&#xff1a;4 解释&#xff1a;小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 示例 2&#xff1a; 输入&#xff1a;n 0 输出&#xff1a;0 示例 3&#xff1a; 输入&#xff1a;n 1 输出&#x…

SwiftU的组件 - TabView

SwiftU的组件 - TabView 记录一下SwiftU的组件 - TabView的两种style分别的使用方式 import SwiftUIstruct TabViewBootCamp: View {State var selectedIndex 0var body: some View {NavigationView {TabView(selection: $selectedIndex) {HomeView(selectedIndex: $selected…

基于python的《彩图版飞机大战》程序使用说明(附源码下载)

在PyCharm中运行《彩图版飞机大战》即可进入如图1所示的游戏界面。 图1 游戏主界面 具体的操作步骤如下&#xff1a; &#xff08;1&#xff09;玩游戏。在游戏主界面中&#xff0c;从屏幕的顶部不断出现下落的敌机&#xff0c;玩家按下键盘上的↑、↓、←、→方向键移动飞机…

springboot的自动配置原理

1.通过SpringBootConfiguration 引入了EnableAutoConfiguration(负责启动自动配置功能&#xff09; 2.EnableAutoConfiguration 引入了import 3.Spring容器启动时&#xff1a;加我loc容器时会解析import 注解 4.import导入了一个deferredimprotSelector(它会使SpringBoot的自…

Android 深入Http(2)加密与编码

可以对二进制数据&#xff08;比如图片、视频&#xff09; 经典算法&#xff1a; DES&#xff08;密钥短被弃用了&#xff09; AES &#xff08;密钥很长 很顶&#xff09; 速度快&#xff0c;效率高 IDEA 3DES&#xff08;三重DES&#xff0c;听起来就很慢和重 &#xf…

高性能服务系列【八】C10M时代,网络IO库需要重建

在目前网络上能搜索到的&#xff0c;关于网络IO模型的文章&#xff0c;基本都是关于多路复用的iocp/epoll的&#xff0c;这些技术是为了解决C10K问题而提出的解决方案。现代网卡已经普遍支持10Gb&#xff0c;100Gb也不少见&#xff0c;这些解决方案已经无法提升性能的需求。 我…

VGG论文学习笔记

题目&#xff1a;VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 论文下载地址&#xff1a;VGG论文 摘要 目的&#xff1a;研究深度对精度的影响 方法&#xff1a;使用3*3滤波器不断增加深度&#xff0c;16和19效果显著 成绩&#xff1a;在ImageNet 20…