正则表达式的使用

简介: 正则表达式的使用

前言

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

一、正则表达式是什么?

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

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

二、使用方法

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月前
常用正则表达式 (必备)
常用正则表达式 (必备)
|
6月前
|
自然语言处理 JavaScript 前端开发
正则表达式完整指南(上)
正则表达式完整指南(上)
105 0
|
6月前
正则表达式
这是正则表达式的符号概览:^表示行首,$表示行尾,\A和\z分别代表字符串开始和结束。&quot;.&quot;匹配任何字符,\s是空白字符,\S是非空白字符,\d代表数字,\D是非数字,\w是单词字符,\W相反,\b表示单词边界。;选项i忽略大小写,m使&quot;.&quot;匹配换行,x忽略空格,o限制替换次数。
46 7
|
前端开发 数据安全/隐私保护 Windows
常用的20个正则表达式
常用的20个正则表达式
305 0
|
移动开发 JavaScript 前端开发
正则表达式总结
什么是正则表达式? 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。
100 1
|
Java 数据安全/隐私保护 Perl
常用的正则表达式大全
本文总结了常用的常用的正则表达式
131 0
常用的正则表达式大全
|
机器学习/深度学习 JavaScript
详解 正则表达式
详解 正则表达式
详解 正则表达式
第177天:常用正则表达式(最全)
常用正则表达式 1 2 /* 常用正则表达式大全!(例如:匹配中文、匹配html) 3 4 匹配中文字符的正则表达式: [u4e00-u9fa5] 5 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 6 匹配双字节字符(包括汉字在内):[^x0...
1122 0
|
JavaScript 前端开发 索引