Java:正则表达式 matches

news2024/9/25 23:12:02

文章目录

  • 正则表达式
    • 作用
    • 基本用法
    • 小结
    • 代码
  • 案例:校验用户输入的电话,邮箱,是否合法
    • \\.是什么意思

黑马学习笔记

正则表达式

由一些特定的字符组成,代表的是一个规则

作用

  • 用来校验数据格式是否合法
  • 在一段文本中查找满足要求的内容

基本用法

进API查,或者使用的时候直接搜
在这里插入图片描述

小结

在这里插入图片描述

代码

/**
 * @Author: ggdpzhk
 * @CreateTime: 2024-09-02
 * 校验QQ号码是否正确,要求全部是数字,长度是(6-20)之间,不能以0开头
 */
public class regex {
    public static void main(String[] args) {
        String qq = "12366589";
        String qq1 = "q1256d3";
        String qq2 = "03336";
        System.out.println(cheakQQ(qq));
        System.out.println(cheakQQ(qq1));
        System.out.println(cheakQQ(qq2));

        System.out.println(cheakQQ2(qq));
        System.out.println(cheakQQ2(qq1));
        System.out.println(cheakQQ2(qq2));


    }



    //使用正则表达式
    public static boolean cheakQQ2(String qq) {
        return qq != null && qq.matches("[1-9]\\d{5,19}");//第一个数字是1-9,后面是0-9的数字,长度是6-20,
        //  \\d{a,b}表示后边数字的位数,如:\d{3}表示3位数字,\d{1,3}表示1-3位数字
        // \\d 是转义字符
    }

    public static boolean cheakQQ(String qq) {
        //1. 判断号码是否为null
        if (qq == null || qq.startsWith("0") || qq.length() < 6 || qq.length() > 20) {
            return false;
        }
        //2. 判断qq号码是否为纯数字
        for (int i = 0; i < qq.length(); i++) {
            if (qq.charAt(i) < '0' || qq.charAt(i) > '9') {
                return false;
            }
        }
        return true;
    }
}

在这里插入图片描述

案例:校验用户输入的电话,邮箱,是否合法

package regex;

import java.util.Scanner;

/**
 * @Author: ggdpzhk
 * @CreateTime: 2024-09-02
 *
 * 校验用户输入的电话,邮箱,是否合法
 */
public class Test2 {
    public static void main(String[] args) {

        Scanner sc =  new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的电话号码:");
            String phone = sc.next();

            if(cheakPhone(phone)){
                System.out.println("电话号码合法");
                break;//注意!!!!
            }else{
                System.out.println("电话号码不合法");
            }
        }

        while (true) {
            System.out.println("请输入您的qq邮箱:");
            String email = sc.next();
            if(cheakEmail(email)){
                System.out.println("邮箱合法");
                break;
            }else{
                System.out.println("邮箱不合法");
            }
        }

        while (true) {
            System.out.println("请输入您的密码:(6-10位,包含数字和大小写字母)");
            String password = sc.next();
            if(cheakPassword(password)){
                System.out.println("密码合法");
                break;
            }else{
                System.out.println("密码不合法");
            }
        }
    }

    private static boolean cheakPassword(String password) {
        return password.matches("^[a-zA-Z0-9]{6,10}$");
    }


    //检查输入邮箱是否满足格式
    /*
    @qq.com  前面的位数在5 - 10 之间,第一位不能是0
    * */
    private static boolean cheakEmail(String email) {
        return email.matches("^[^0][0-9a-zA-Z]{4,9}@qq\\.com$");
    }

    //检查电话是否合法
    /*
    1. 11位
    2. 不能以0开头
    3. 不能有数字以外的字符
     */
    public static boolean cheakPhone(String phone){
        return phone.matches("^[1][3-9][0-9]{9}$");
        //   ^ $ 表示字符的开始和结束    第一位只能是1  第二位是3-9  后面9位是0-9
    }


}


在这里插入图片描述

\.是什么意思

在这里插入图片描述

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

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

相关文章

计算机毕业设计选题推荐-高校科研工作管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

【GIS开发小课堂】vue3+Cesium.js三维WebGIS项目实战(一)

随着市场对数字孪生的需求日益增多&#xff0c;对于前端从业者的能力从对框架vue、react的要求&#xff0c;逐步扩展到2D、3D空间的交互&#xff0c;为用户提供更紧密的立体交互。近年来前端对GIS的需求日益增多。 本文档详细介绍了使用Vue3和Cesium.js构建三维WebGIS项目的步骤…

数据结构07

文章目录 二叉树的坡度二叉树的右视图 二叉树的坡度 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), l…

配置vscode终端自动激活anaconda的python环境

前言 每次使用vscode写python代码的时候&#xff0c;都需要在外面跑一个anaconda prompt&#xff0c;激活环境&#xff0c;然后进入对应的文件夹&#xff0c;运行代码&#xff0c;特别麻烦&#xff0c;所以想&#xff0c;能不能直接在vscode终端里面激活环境然后运行。 第一步…

FIFO求和实验

前言 FIFO&#xff08;先进先出&#xff09;队列在图像处理中的应用非常广泛&#xff0c;特别是在需要处理实时数据流和保证数据顺序的场景中。以下是一些具体应用实例&#xff1a;在实时视频流处理中&#xff0c;FIFO队列用于缓存图像帧。这样可以确保图像数据按照捕获顺序被处…

828华为云征文|华为云Flexus X实例docker部署harbor镜像仓库

828华为云征文&#xff5c;华为云Flexus X实例docker部署harbor镜像仓库 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求&#xff0c;一定不要错…

如何培养积极的心态:策略与建议

积极的心态是通往幸福与成功的关键。它不仅影响着我们的日常生活质量&#xff0c;还决定了我们在面对困难时的态度和反应。本文将介绍一些实用的方法&#xff0c;帮助你建立并维持一种积极向上的生活态度。 积极心态的意义 拥有积极心态的人往往能够&#xff1a; 更快地恢复…

avi转换成mp4,这6种方法助你快速转换

视频格式的兼容性一直是用户关注的焦点。AVI作为一种较老的视频格式&#xff0c;虽然在一些特定场合下仍有应用&#xff0c;但MP4格式因其广泛的兼容性和较小的文件体积&#xff0c;已成为主流的视频格式。本文将详细介绍六种将AVI转换成MP4的方法&#xff0c;一起来了解下吧。…

安卓手机照片误删? 2024最新恢复办法分享

不小心将安卓手机照片误删了&#xff0c;该怎么办呢&#xff1f;相信不少人都遇到过类似困扰&#xff0c;别担心&#xff0c;下面小编就分享几种华为手机数据恢复办法&#xff0c;助大家快速找回误删照片。 方法一&#xff1a;从「回收站」中恢复照片 安卓手机通常都具备回收站…

17 连接池原理

可以设计一个mysql的连接池&#xff0c;提高效率 提前建立一个连接池&#xff0c;这里面创建线程池&#xff0c;和mysql建立连接&#xff0c;维护一个任务队列。有任务到来时&#xff0c;将任务放入任务队列&#xff0c;任务结构是要执行的sql语句和需要的回调函数&#xff0c…

信息化项目验收测试的必要性,第三方软件测评机构的进行步骤

随着信息化时代的到来&#xff0c;各类软件项目在企业中得到了越来越广泛的应用。为了保障项目的顺利交付&#xff0c;确保软件系统的功能、性能和稳定性&#xff0c;验收测试成为了一个不可或缺的环节。 一、信息化项目验收测试   信息化项目验收测试是对软件项目最终成果进…

py脚本 银行帐号格式化显示4个数字一组

假设你想要将银行帐号以某种特定的格式&#xff08;例如&#xff0c;每 4 位数字加一个空格&#xff09;进行格式化。 示例代码 以下是一个示例 Python 脚本&#xff0c;将银行帐号格式化为每 4 位数字加一个空格的形式&#xff1a; def format_bank_account(account_number…

CSS实现文字环绕圆形展示

展示区域 代码区域 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><s…

Webpack详解与配置环境

webpack&#xff1a;webpack网址 1、工作原理&#xff1a; Webpack是一个非常强大的静态模块的打包工具。从文件入口开始&#xff0c;递归解析以来关系&#xff0c;然后将所有模块打包成一个或多个budle文件。 2、webpack核心概念&#xff1a; Entry&#xff1a;入口起点(en…

前端使用xlsx模板导出表格

前言 前端导出表格有很多种方案&#xff0c;但是表格样式一旦复杂了&#xff0c;那么就得用代码写excel的样式&#xff0c;还是比较麻烦的。每次样式不一样&#xff0c;就得重新写&#xff0c;这时使用表格模板的优势就体现出来了&#xff0c;想导出不同样式的表格直接修改表格…

UMI复现代码解读全流程 视觉部分(六)——06_generate_dataset_plan.py(尚在更新)

视觉主要采用orb-slam3,分为主文件run_slam_pipeline和7个副文件在文件夹scripts_slam_pipeline中 06生成了pkl文件,是run_slam_pipeline的最终一步 06注释版已发到群里 06是一个比较重要的文件,定义了训练时的运动末端参数,作为训练输入 @click.option(-to, --tcp_offset…

uniapp 懒加载、预加载、缓存机制深度解析

uniapp 懒加载、预加载、缓存机制深度解析 文章目录 uniapp 懒加载、预加载、缓存机制深度解析一、为什么要使用uniapp的懒加载、预加载和缓存机制二、如何使用uniapp的懒加载、预加载和缓存机制1. 懒加载2. 预加载3. 缓存机制 四、扩展与高级技巧1. 结合懒加载和预加载优化页面…

2024数博会技术成果回顾 | KPaaS助力企业数智化转型

2024年8月28日至30日&#xff0c;中国国际大数据产业博览会&#xff08;简称“数博会”&#xff09;在贵州省贵阳市隆重举行。本届数博会以“数智共生&#xff1a;开创数字经济高质量发展新未来”为主题&#xff0c;吸引了来自全球各地的400多家企业和2.1万余名嘉宾参与&#x…

UART串口通信——FPGA学习笔记9

一、数据通信基本概念 按数据通信方式分类&#xff1a; 串行通信、并行通信 按数据传输方向分类&#xff1a; 单工通信、半双工通信、全双工通信 按数据同步方式分类&#xff1a; 同步通信、异步通信 常见的串行通信接口&#xff1a; 二、串口通信&#xff1a; UART 是一种…

Cobalt Strike 4.8 用户指南-第六节-Payload Artifacts和反病毒规避

Fortra 经常回答有关规避的问题。Cobalt Strike 会绕过反病毒产品吗&#xff1f;它绕过了哪些反病毒产品&#xff1f;多久检查一次&#xff1f; Cobalt Strike 默认Artifact可能会被大多数端点安全解决方案拦截。尽管规避不是Cobalt Strike产品默认的目标&#xff0c;但Cobalt…