正则表达式的使用

简介: 正则表达式的使用

前言

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

一、正则表达式是什么?

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

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

二、使用方法

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


总结

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

相关文章
|
11月前
|
人工智能 机器人 Unix
正则表达式的应用
正则表达式的应用
83 0
|
5月前
|
XML 前端开发 数据安全/隐私保护
正则表达式
正则表达式
|
新能源 Java Linux
你必须掌握的常用正则表达式大全
你必须掌握的常用正则表达式大全
1453 1
你必须掌握的常用正则表达式大全
|
数据安全/隐私保护
正则表达式_2
学习自编程胶囊课程。
101 1
正则表达式_2
|
C#
正则表达式01
正则表达式01
166 0
正则表达式01
第177天:常用正则表达式(最全)
常用正则表达式 1 2 /* 常用正则表达式大全!(例如:匹配中文、匹配html) 3 4 匹配中文字符的正则表达式: [u4e00-u9fa5] 5 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 6 匹配双字节字符(包括汉字在内):[^x0...
1116 0
最全面的常用正则表达式大全
就算懂正则的朋友,在遇到需要用正则校验数据时,也往往是在网上去找很久,结果找来的还是不很符合要求。 所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
1132 0
|
Shell Linux Python
正则表达式与运用
正则表达式用的地方是很多的。比如字符串处理过程中。最近遇到记录一下。 1. 比如在shell中 1 #!/bin/bash 2 3 str="date:2017-11-28 os:centos blackbord:blog" 4 5 echo $str | grep centos --colo...
1280 0
|
程序员 Windows