正则表达式的使用

简介: 正则表达式的使用

前言

       在网页中,密码输入错误的反馈,可以通过正则表达式来进行实现,正则表达式类似于数学中的公式,程序员根据业务需要,构建好正则表达式的公式,用户输入密码后,经过判断,系统返回布尔值,进行相应的反馈。

一、正则表达式是什么?

       正则表达式是一种用于匹配和操作文本的强大工具,是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。        

       正则表达式可以在文本中查找、替换、提取和验证特定的模式。

二、使用方法

1.正则表达式的使用

      (1)创建 String 类数据 编写正则表达式公式

使用方法:

                               使用方括号括起来若干个字符来表示一个字符,该元字符                                                           可以表示方括号中任何一个字符

    eg:   [^456]                       除456以外的任意字符


                               [a-r]                          代表a~r中任意一个字母


                               [a-zA-Z]                   代表任意一个英文字母


                               [a-e[g-z]]                 代表a~e或g~z中任意字母(并集)


                               [a-o&&[def]]            代表字母 d、e、f(交集)


                               [a-d&&[^bc]]           代表字母a、d(差运算)


                               (ab)|(13)|(50)         代表“ab”、“13”、“50”任意一个值

正则表达式限定符

限定修饰符 意义 示例
? 0或1次 A?
* 0或多次 A*
+ 0或多了几次 A+7
{n} 正好出现n次 A{n}
{n,} 至少出现n次 A{n,}
{n,m} 出现 n 次至 m 次 A{n,m}
&& 和(交集) A&&B
| A|B
+ 连接符 A+B

正则表达式元字符

元字符 正则表达式中的写法 意义
. “.” 代表任意一个字符
d "\\d" 代表0~9的任何一个数字
\D "\\D" 代表任何一个非数字字符
\s "\\s" 代表空白字符,如“\t”、“\n”
\S "\\S" 代表非空白字符
\w "\\w" 代表可用作标识符的字符,但不包括“$”
\W "\\W" 代表不可用于标识符的字符

   (2)使用matches()方法 检测某字符串是否满足给定的正则表达式,返回布尔值

2.实操展示

        示例1:

               使用正则表达式判断 号码是否为手机号(总共十一位)

import java.util.Scanner;
class regex{
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    for(int i=0;i<5;i++) {
      System.out.println("请输入您的手机号码");
      String phone = scan.nextLine();
      String regex = "13[0-9]\\d{8}|15[012356789]\\d{8}|18[056789]\\d{8}";
      if(phone.matches(regex)) {
        System.out.println("该号码是手机号");
        System.out.println("--------------");
      }else {
        System.out.println("该号码不是手机号");
        System.out.println("--------------");
      }
    }
    scan.close();
  }
}

正则表达式 13\\d{9}|15[012356789]\\d{8}|18[056789]\\d{8}


               第一种电话格式:开头两位为13 再加上九位的随机数字


                                            eg:13012345678


               第二种电话格式:开头两位为15 第三位为除了4以外的数字 再加上八位的随机数字


                                            eg:15012345678


               第三种电话格式:开头两位为18 第三位为除了1234以外的数字 再加上八位的随机数字


                                            eg:18056789097

       示例2:

               使用正则表达式判断 指定变量是否是合法的 E-mail邮箱地址

import java.util.Scanner;
class regex{
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    for(int i=0;i<5;i++) {
      System.out.println("请输入您的邮箱地址");
      String phone = scan.nextLine();
      String regex = "\\w+@+\\w+(\\.\\w{2,3})*";
      if(phone.matches(regex)) {
        System.out.println("该邮箱是邮箱地址");
        System.out.println("--------------");
      }else {
        System.out.println("该邮箱不是邮箱地址");
        System.out.println("--------------");
      }
    }
    scan.close();
  }
}

    正则表达式 \\w+@+\\w+(\\.\\w{2,3})*+\\.\\w{2,3}


               解释:    除了$的所有符号(不限个数)+@+ 除了$的所有符号(不限个数)+ .+除了$的所有符号(2-3个)  


                注:括号中的内容为一个整体,* 号让这个整体,可以出现0或无数次          


总结

       以上就是正则表达式的简单介绍,本文仅仅简单介绍了正则表达式的使用,而正则表达式提供了能使我们校对数据,判断密码,设计权限范围的能力。

相关文章
|
存储 关系型数据库 MySQL
【分布式和微服务1】一篇文章详细了解分布式和微服务的基本概念
【分布式和微服务1】一篇文章详细了解分布式和微服务的基本概念
1868 0
|
新零售 Java C++
java脚本引擎的设计原理浅析
本人在阿里巴巴长期担任和负责规则引擎、流程引擎相关的技术开发,另外还负责开发和维护开源项目:https://github.com/alibaba/QLExpress QLExpress是一个脚本引擎工具,类似Groovy,JRuby等,是为了解决当时电商规则动态编译、表达式高精度计算、复杂布尔运算、自定义函数和操作符号、语法树生成等需求而设计的。
16714 0
正则表达式的常用示例
正则表达式的常用示例
294 3
|
存储 缓存 安全
企业出海合规:如何区分数据控制者与数据处理者
数据控制者是确定个人数据处理目的和方式的实体,负有最大责任,需保护数据主体的隐私。数据处理者是按照控制者指示处理个人数据的实体,负责数据安全和协助控制者履行职责。两者需通过明确的合同规定责任。数据控制者的职责包括确定目的、获得同意、确保安全、提供透明度、促进权利行使、进行DPIA和建立协议。数据处理者负责按指示处理数据、确保安全和保密、协助控制者、处理数据泄露通知、数据删除和遵守法律。
1086 0
|
Linux API 芯片
GPIO子系统驱动程序 【ChatGPT】
GPIO子系统驱动程序 【ChatGPT】
|
存储 安全 算法
Java中防止压缩炸弹的技术分享
【8月更文挑战第17天】在软件开发和数据处理的日常工作中,我们经常会遇到各种压缩文件。然而,一种被称为“压缩炸弹”的恶意文件却给开发者带来了不小的困扰。压缩炸弹通过特殊设计的压缩算法,使得极小的文件在解压后能膨胀到异常巨大的体积,从而消耗大量系统资源甚至导致系统崩溃。本文将围绕“如何在Java中防止压缩炸弹”这一主题,分享一些实用的技术干货。
549 0
|
存储 安全 数据库
ensp中PPP(点对点协议)中的PAP认证 原理和配置命令
ensp中PPP(点对点协议)中的PAP认证 原理和配置命令
831 0
|
网络协议 Linux 网络安全
Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解
Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解
1321 0
|
安全 调度 数据格式
1553B基础常识篇
1553B基础常识篇
2340 0
1553B基础常识篇
|
安全 网络协议 Shell
iOS 逆向编程(六) SSH、OpenSSH、SSL、OpenSSL 简介与关系
iOS 逆向编程(六) SSH、OpenSSH、SSL、OpenSSL 简介与关系
567 0