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;…

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 …

【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;免费送你 ”前后端入行大礼包…

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;玩家按下键盘上的↑、↓、←、→方向键移动飞机…

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

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

VGG论文学习笔记

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

搭建知识管理系统并不复杂,这篇教程来帮你

许多人都有这样的体验&#xff1a;我们抓住的想法和知识总在不经意间溜走&#xff0c;我们想要的信息总是一时无法找到。因此&#xff0c;搭建一个能够系统化、分类和索引存储这些知识的“知识管理系统”是必要的。听上去很专业&#xff0c;其实并不复杂&#xff0c;让我们一步…

mysql: 如何开启慢查询日志?

1 确认慢查询日志功能已开启 执行以下sql语句&#xff0c;查看慢查询功能是否开启&#xff1a; show VARIABLES like slow_query_log;如果为ON&#xff0c;表示打开&#xff1b;如果为OFF&#xff0c;表示没有打开&#xff0c;需要开启慢查询功能。 执行以下sql语句&#xff0…

修改 MySQL update_time 默认值的坑

由于按规范需要对 update_time 字段需要对它做默认值的设置 现在有一个原始的表是这样的 CREATE TABLE test_up (id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键id,update_time datetime default null COMMENT 操作时间,PRIMARY KEY (id) ) ENGINEInnoDB DEF…

MapStruct代替BeanUtils.copyProperties ()使用

1.为什么MapStruct代替BeanUtils.copyProperties () 第一&#xff1a;因为BeanUtils 采用反射的机制动态去进行拷贝映射&#xff0c;特别是Apache的BeanUtils的性能很差&#xff0c;而且并不支持所有数据类型的拷贝&#xff0c;虽然使用较为方便&#xff0c;但是强烈不建议使用…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavRouter)

导航组件&#xff0c;默认提供点击响应处理&#xff0c;不需要开发者自定义点击事件逻辑。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 必须包含两个子组件&#xff0c;其中第二个子组…

分析型数据库的主要使用场景有哪些?

如今数据已经成为了企业和组织的核心资产。如何有效地管理和利用这些数据&#xff0c;成为了决定竞争力的关键。分析型数据库作为数据处理领域的重要工具&#xff0c;为各行各业提供了强大的数据分析和洞察能力。基于分析型数据库&#xff08;Apache Doris &#xff09;构建的现…