正则表达式的使用

简介: 正则表达式的使用

前言

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

一、正则表达式是什么?

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

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

二、使用方法

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或无数次          


总结

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

相关文章
|
6月前
|
自然语言处理 JavaScript 前端开发
正则表达式完整指南(上)
正则表达式完整指南(上)
104 0
|
6月前
|
数据安全/隐私保护
正则表达式小结
正则表达式小结
58 0
|
5月前
|
自然语言处理
正则表达式1
正则表达式
|
6月前
|
JavaScript 前端开发 Java
正则表达式详细讲解
正则表达式详细讲解
正则表达式详细讲解
|
Java 数据安全/隐私保护 Perl
常用的正则表达式大全
本文总结了常用的常用的正则表达式
129 0
常用的正则表达式大全
|
XML PHP 数据安全/隐私保护
常用的正则表达式
正则表达式是一种描述字符串结构的语法规则,是一种特定的格式化模式,用于验证各种字符串是否匹配(Match)这个特征,进而实现高级的文本查找、替换、截取等操作。 正则表达式在发展过程中出现了多种形式,一种是POSIX规范兼容的表达式,另一种是当Perl(一种功能丰富的编程语言)发展起来后,衍生出来的PCRE(Perl兼容正则表达式)库,使得许多开发人员将PCRE整合到自己的语言中,PHP中也未PCRE库的使用提供了相应的函数。
177 0
|
JavaScript 前端开发 索引
|
程序员 Windows