正则表达式规则

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: Java中的正则表达式规则,如何写正则表达式?

 正则表达式中的规则定义可分为如下几个方面:

1.字符结构定义

2.编辑匹配定义

3.逻辑运算定义

4.量词定义

字符结构定义规则

字符结构 解释
. 任何字符
X 单个字符,包括控制符(\t,\n,\r,\\,\f)
Xxx 字符串
[abc] 包含a或b或c的任何单个字符
[^abc] 不包含a或b或c的任何单个字符
[a-zA-Z] 包含英文大小写字母中的任何单个字母
\s 空白符(空格、跳格、回车、换行、换页)
\S 非空白符
\d 数字(0~9)
\D 非数字
\w 文本字符,[a-zA-Z_0~9]中的任何一个字符
\W 非文本字符

注意:为了使Java编译器识别,在以“\”开始的字符串定义中必须再加上一个“\”,说明跟随的是正则表达式对字符的定义符。正则表达式必须用双括号括起来。

边界匹配符定义规则

定义 解释
^B 必须以B开始。B为任何字符、字符串。
B$ 必须以B结束。B为任何字符、字符串。


逻辑运算符定义规则

定义 解释
XY X后跟随Y
X\Y X或者Y。X、Y为任何字符、字符串。


量词符定义规则

定义 解释
X? 匹配空字符串,或最多匹配一个X。
X* 匹配空字符串,或一个到多个X。
X+ 匹配一个或者多个X。
X{n} X必须重复n次。
X{n,} X至少重复n次。
X{n,m} X至少重复n次,但不多于m次。

下面给出一个实例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RegularExpress {
  public static void main(String[] args) throws IOException {
    System.out.print("请输入您的邮箱:");
    try(BufferedReader buffReader = new BufferedReader(new InputStreamReader(System.in))) {
      String strInput = buffReader.readLine();
      if (strInput.matches("(\\w+)(.\\w+)*@(\\w+\\.)(com|edu|net|org|gov|cn)")) {
        System.out.println("恭喜您,通过验证!");
      }
      else {
        System.out.println("输入不合法,请重新输入!");
      }
    }
  }
}

image.gif

运行结果如下:

请输入您的邮箱:614106917@qq.com
恭喜您,通过验证!

image.gif


目录
相关文章
|
4月前
|
人工智能 Java 数据格式
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
39 3
正则表达式的详细规则
正则表达式的详细规则
229 1
|
12月前
|
运维 Java 应用服务中间件
【Nginx用法】nginx location正则表达式写法,详解Nginx location 匹配规则(很详细哦)
【Nginx用法】nginx location正则表达式写法,详解Nginx location 匹配规则(很详细哦)
299 0
|
机器学习/深度学习 Shell C++
正则表达式普通字符、非打印字符、特殊字符、限定符的应用、定位符、元字符(规则,匹配,和实际使用)与运算符优先级
正则表达式普通字符、非打印字符、特殊字符、限定符的应用、定位符、元字符(规则,匹配,和实际使用)与运算符优先级
260 0
正则表达式——常用的匹配规则
简介:正则表达式——常用的匹配规则
正则表达式——常用的匹配规则
正则表达式的规则
正则表达式的规则 A:字符 x 字符 x。举例:'a'表示字符a \\ \ 两个反斜杠字符代表一个反斜杠字符 \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字...
820 0