正则表达式规则

简介: 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


目录
相关文章
|
人工智能 Java 数据格式
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
244 3
|
运维 Java 应用服务中间件
【Nginx用法】nginx location正则表达式写法,详解Nginx location 匹配规则(很详细哦)
【Nginx用法】nginx location正则表达式写法,详解Nginx location 匹配规则(很详细哦)
871 0
正则表达式的详细规则
正则表达式的详细规则
469 1
|
机器学习/深度学习 Shell C++
正则表达式普通字符、非打印字符、特殊字符、限定符的应用、定位符、元字符(规则,匹配,和实际使用)与运算符优先级
正则表达式普通字符、非打印字符、特殊字符、限定符的应用、定位符、元字符(规则,匹配,和实际使用)与运算符优先级
768 0
正则表达式——常用的匹配规则
简介:正则表达式——常用的匹配规则
正则表达式——常用的匹配规则
|
Python
Python之HTTP状态码、正则表达式语法规则
一、HTTP状态码归总 100:继续  客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应 101: 转换协议  在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。
1909 0
适应adblock plus 规则的简单正则表达式匹配
adblock plus定义的广告过滤列表非常好用,这里分析一下adblock plus的广告过滤规则 ! 开始表示注释 * 通配符,匹配任何字符串 @@ 以此开头表示白名单, | 以此开始或者结束表示开始处或者结束处严格匹配,没有其他内容了 || 以此开头会忽略协议规则进行匹配,比如忽略http,https等 ^ 分隔符匹配除数字,字母,-,.,%以外的其他字符 $ 指明后面的是过滤类型,比如是是image还是script等   按照adblock plus的说法,这些最终都转换成了正则表达式来处理,具体怎么实现不是很清楚。
1999 0
正则表达式的规则
正则表达式的规则 A:字符 x 字符 x。举例:'a'表示字符a \\ \ 两个反斜杠字符代表一个反斜杠字符 \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字...
951 0

热门文章

最新文章