正则表达式的组成规则

在java中,正则表达式的编译是类

java.util.regex.Pattern

正则表达式的构造摘要

1.字符x

包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号的普通字符。

比如之前的例子

可以将[1-9][0-9]{4,12}改成

1[0-9]{4,12}或者a[0-9]{4,12}

此时就表示以1开始或者以a开始的字符,就表示一个任意的普通字符。

2. 反斜线字符

表示一个反斜线,更改下之前的代码

3、[abc] a,b或者c(简单类),任选一个,只能在abc中

4、[^abc] 任何字符,除了a,b,c(否定),不是abc的任意字符

5.[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

6. d 数字:[0-9]

D 非数字: [^0-9]相对于d是取反,不是数字的就可以

7. w 单词字符:[a-zA-Z_0-9]匹配字母或数字或下划线或汉字,W是取反:[^w]

上面这些有助于我们理解正则表达式,建立概念,实际上正则有很多构造,需要可以百度搜索,现在我们多做些练习,补充理解学习。

练习:判断手机号是否满足需求

准备手机号例子:

18372345676

18372345673

18372345672

18372345671

13469830000

15926943333

18727244444

13901657081

规则:

1. 首位是1

2. 第二位是[358]

3. 后续数字 表示数字:[0-9]

X{n} X,表示恰好 n 次,后续位数为9位,所以X是[0-9],n是9,结合起来是[0-9]{9}

那么正则就是1[358][0-9]{9}

编写代码

运行结果

练习:邮箱判断

下面邮箱例子(实际邮箱正则很复杂):

1233213123@qq.com

zoushdiasd@163.com

heis_321@126.com

guaojpod@sina.com.cn

daioyasodi@tencent.cn

规则:

1.以@符合分为三个部分

2. @以前的部分:w{8,10}

3.@

此时的正则是: w{8,10}@

4. @后面的部分可以依据.(点)进行划分

5. .以前的部分[a-z1-9]{2,7}

6. .本身表示任何字符,所以需要转义.

此时的正则是: w{8,10}@[a-z1-9]{2,7}.

7. .后面的部分可以暂时表示宽泛一些[a-z]{2,3}

此时的正则是: w{8,10}@[a-z1-9]{2,7}.[a-z]{2,3}

8. 多个com和cn可以将点及后面的部分一起,看做一个整体(.[a-z]{2,3}){1,2}

此时的正则是:

w{8,10}@[a-z1-9]{2,7}(.[a-z]{2,3}){1,2}

编写代码

结果

java正则表达式判断手机号_正则表达式学习之简单手机号和邮箱练习相关推荐

  1. java正则判断银行卡号_正则表达式验证银行卡号

    BPM.blockUI({ target: $("#blockAddDiv"),Boxed: true,message: FeekongLan.label.loadmsg });/ ...

  2. java正则表达式判断问号_正则表达式问号的四种用法详解

    原文符号 因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\? 有无量词 问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次. 非贪婪匹配 贪婪匹配 在满足匹配时 ...

  3. java 正则判断二进制_用正则表达式判断一个二进制数是否能被3整除

    我们之前已经见过了正则表达式的一些很特殊的用法.这里我们再来看一个:用正则表达式判断数的整除性.例如,下面这个表达式可以匹配01串S当且仅当S是一个可以被3整除的二进制数. ^1((10*1)|(01 ...

  4. java 正则 单个字符_正则表达式教程之匹配单个字符详解

    本文实例讲述了正则表达式教程之匹配单个字符.分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的[和]之间,有的例子会使用Java来实现,如果是java本身正则表达式的 ...

  5. python用正则表达式判断字符串_使用Python验证常见的50个正则表达式

    什么是正则表达式? 正则表达式(Regular Expression)通常被用来检索.替换那些符合某个模式(规则)的文本. 此处的Regular即是规则.规律的意思,Regular Expressio ...

  6. java转义字符包括元字符_正则表达式的元字符和转义字符,又及转义字符和ASCII码之间的关系小解...

    1.正则表达式的组合 正则表达式由元字符和转义字符组成 元字符有 ^ :断言目标的开始位置(或多行模式下的行首位置) $ :断言目标的介绍位置(或多行模式下的结尾位置) . :匹配除换行符外的其他任何 ...

  7. 正则表达式判断三大运营商手机号码、微信号、邮箱

    记录一下实用全面的正则判断手机号码.微信号.邮箱号方便下次使用 var phone="^((13[0-9])|(14[5-9])|(15([0-3]|[5-9]))|(16[6-7])|(1 ...

  8. java 正则表达式 判断 日期_怎么在java中利用正则表达式对时间日期进行判断

    怎么在java中利用正则表达式对时间日期进行判断 发布时间:2020-12-08 16:18:34 来源:亿速云 阅读:105 作者:Leah 这篇文章给大家介绍怎么在java中利用正则表达式对时间日 ...

  9. Java用正则表达式判断学号,利用正则表达式验证学号_利用正则表达式开发动态网页...

    [摘 要]在动态网页设计中,利用正则表达式可以高效.快速地进行开发,本文探讨了在PHP中利用正则表达式进行url地址解析,密码和邮件验证以及文本文件的处理. [关键词]正则表达式 PHP 动态网页 [ ...

最新文章

  1. python默认的一个代码缩进是几个空格_python缩进长度是否统一
  2. java异常处理之throw, throws,try和catch
  3. Flutter开发之HTTP网络请求:Http库(27)
  4. windows和linux-JDK环境变量设置
  5. 直播实录 | 基于生成模型的事件流研究 + NIPS 2017 论文解读
  6. hihocoder-Week200-Shorteniring Sequence
  7. 1215.1——动态分配内存的补充realloc
  8. FreeSql (十七)联表查询
  9. java反序列化后不相等_Jackson:使用不同的属性名称序列化/反序列化 - java
  10. PHP代码中解决出现中文乱码的问题
  11. 用Python中的tkinter模块作图
  12. 4.3-软件开发中,“原型图”的作用与绘制方法说明
  13. 计算机网络的常用命令汇总
  14. Power Apps 创建响应式布局
  15. 做word计算机海报图片,使用word制作宣传海报
  16. Mosquitto修改默认端口port
  17. Android 10.0 飞行模式下禁用NFC功能
  18. 合并的表格怎么加横线_word怎么合并表格边框
  19. WDM在不同Windows版本上的音频支持
  20. 1000瓶子10小白鼠找毒药问题

热门文章

  1. 我的世界java怎么玩起床战争_我的世界怎么玩起床战争_我的世界起床战争怎么玩_52pk单机游戏...
  2. android 设置对话框的高度,如何控制Android中默认警报对话框的宽度和高度?
  3. PAT_B_1011_Java(15分)
  4. linux 清空nat,linux 命令iptables -t nat
  5. 24帧动画走路分解图_人眼只能分辨24帧?我们来聊聊高刷新率的意义
  6. 自定义按键_雷柏VT300S号称吃鸡鼠标,能够自定义10个编程按键
  7. [深度学习] 自然语言处理 --- Self-Attention(一) 基本介绍
  8. 阿里资深技术专家:如何快速成长为技术大牛?
  9. Eigen入门之密集矩阵 8 - resharp slicing切片
  10. 一些机器学习数据集(Dataset)