首页 > 编程语言 >简单了解java中的正则表达式

简单了解java中的正则表达式

时间:2024-06-07 09:28:50浏览次数:27  
标签:字符 java String 正则表达式 matches str 简单 public

正则表达式

1、正则表达式认识

正则表达式通常用来校验,检查字符串是否符合规则,由一些特定的字符组成的字符串校验规则,就称之为正则表达式。

2、正则表达式能干啥?

正则表达式只能针对字符串格式进行校验,所以它的应用场景就是对用户输入的字符串进行校验

3、正则表达式使用

3.1、正则表达式语法-字符类

1、字符类

方括号被用于指定字符

2、语法演示(可以结合逻辑运算符使用)

  • [abc]:代表a或者b,或者c字符中的一个
  • [^abc]:代表除了a、b、c以外的字符
  • [a-z]:代表a到z的所有小写字母中的一个
  • [A-Z]:代表A到Z的所有小写字母中的一个
  • [0-9]:代表0到9的所有小写字母中的一个
  • [a-zA-Z0-9]:代表a到z、A到Z、0到9之间的任意一个字符

3、字符串正则匹配方法

boolean matches (正则表达式) :如果匹配正则表达式就返回true,否则返回false

public class Test {
    public static void main(String[] args) {
        String str = "abcdefa";
        String str1 = "a2u4d1a";

        // 验证str是否以a开头,以a结尾,中间5个字符是a-z任意字符
        System.out.println(str.matches("a[a-z][a-z][a-z][a-z][a-z]a"));

        //验证str是否以a开头,以a结尾,中间5个字符是0-9或者a-z之间任意字符
        System.out.println(str1.matches("a[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z]a"));
    }
}

4、正则表达式-预定义字符

4.1、预定义字符:简化字符类的书写

  • ”.“:匹配任何字符
  • ”\d“:任何数字[0-9]的简写
  • ”\D“:任何非数字[ ^0-9 ]的简写
  • ”\s”:空白字符([\t、\n])
  • “\S”:非空白字符
  • “\w”:单词字符[a-zA-Z0-9]
  • “\W”:非单词字符
public class Test {
    public static void main(String[] args) {
        String str = "15911011912";

        //验证str是否是11位数字
        System.out.println(str.matches("\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d"));
        //之所以写成“\\d"而不是”\d“可以参考转义字符相关知识

        //验证str手机号是否以159开头,第四位是1/3/9,剩下的号码都是0-9之间任意数字
        System.out.println(str.matches("159[139]\\d\\d\\d\\d\\d\\d\\d"));

        //验证str号码是否以1开头,以2结尾,中间任意字符
        System.out.println(str.matches("1.........2"));
    }
}

5、正则表达式-数量词

5.1、数量词

注:假设X为任意字符

  • X?:0次或者1次
  • X*:0次或者多次
  • X+:1次或者多次
  • X{n}:恰好n次
  • X{n,}:至少n次
  • X{n, m}:n次到m次(n和m都是包含的
public class Test {
    public static void main(String[] args) {
        String str = "15911011912";

        //验证str是否是11位数字
        System.out.println(str.matches("\\d{11}"));
    }
}

6、正则表达式-分组括号

6.1、分组括号

将要重复使用的正则用小括号括起来,当做一个小组看待

public class Test {
    public static void main(String[] args) {
        String str = "AFDJ3-FJI1J-I7JI6-DNESX-FJI80";

        //要校验str被-分成了5组,每一组A-Z或者0-9的字符组成
        //我们可以这样来书写正则表达式(前四组做一个校验,最后一组做一次校验)
        System.out.println(str.matches("([A-Z0-9]{5}-){4}[A-Z0-9]{5}"));
    }
}

标签:字符,java,String,正则表达式,matches,str,简单,public
From: https://blog.csdn.net/weixin_63323754/article/details/139515494

相关文章

  • Java 实体类之间的互相复制
    Java实体类之间的互相复制,一般可以通过以下几种方法实现:1.手动赋值:最简单的方法是通过手动为每个属性设置值来实现复制。但是在实际应用中,即使实体类属性较少,手动复制也很繁琐。2.BeanUtils:ApacheBeanUtils是一个常用的Java类库,可以用于快速实现JavaBean之间的互相赋值。......
  • 为什么Java中的main方法必须是public static void的?
    当我们创建main方法时,首先都是public、都是static,返回值都是void,方法名都是main,入参都是一个字符串数组。在以上的方法声明中,唯一可以改变的部分就是方法的参数名,我们可以吧args改成任意我们想要使用的名字。main方法时JVM执行的入口,为了方便JVM的调用,所以需要将他的访问权限......
  • 易支付系统新版【2024.5.27】正版【部署简单直接】
    今天我将详细介绍如何对接拉卡拉聚合收银台支付,并指出其中应注意的点。我希望这篇文章能够帮助那些正在寻找如何实现这个功能的开发者。一、拉卡拉聚合收银台支付简介拉卡拉聚合收银台支付是一种整合了多种支付方式的支付服务,包括但不限于微信支付、支付宝支付、银联支付等......
  • Java实现常见的排序算法
    ......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。``fromflaskimportFlask,request,jsonif......
  • JavaScript第十一讲:DOM编程“事件”
    前言当涉及到DOM(DocumentObjectModel)的事件时,JavaScript提供了许多内置的事件处理器,用于处理用户在网页上执行的各种操作。1.焦点事件当元素获得或失去焦点时触发。onfocus:当元素获得焦点时触发。onblur:当元素失去焦点时触发。//假设有一个输入框<inputtype="......
  • File类操作文件方法详解及其简单应用
    一、File类介绍Java中的File类是java.io包的一部分,它提供了操作文件和目录的能力。File类可以用来表示文件系统中的文件或目录。二、路径在讲File用法之前咱们先介绍一下路径是什么?在计算机中,路径(Path)是指文件或目录在文件系统中的位置。路径可以分为两种:绝对......
  • 【JavaScript函数】
    函数:是被设计为执行特定任务的代码块。作用:代码重用,结构清晰1.1、定义函数定义函数有两种方法:函数声明和函数表达式:1.1.1、函数声明解释:这里声明一个函数f,并传入一个参数a,当函数执行以后,通过return关键字返回了a+1的值。1.1.2、函数表达式通过定义一个匿......
  • JAVA踩坑日记之超隐蔽但常见空指针问题
    今天遇到一个特别难以发现的空指针问题代码如下:BookDetailDtobookDetail=metaDataDetailDao.findBookDetailById(bookId);if(null==bookDetail){bookDetail=metaDataTempDao.findBookDetailById(bookId);}//如果......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。 importrequestsimportthreadingimport......