本大教程以一个验证手机号的表达式为例,学完本例后,基本上所有的表达式都能看懂了,但是如果想要达到上手就能写的程度,还需要多练习多测试 呀!

来看 这样一个代码

String mobilePhoneReg = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";if (!mobilephone.matches(mobilePhoneReg)) {

showToast("手机号码格式不正确!");return false;

}

1、字符串“13”

单从最开始的13来看,如果正则表达式的字符串是“13”,意味着匹配“13”这个字符串,如果不是“13”肯定就是matches的结果为false.

2、英文句号“.”

“.”的含义,其实可以理解为一个占位符,“1.3”表示匹配三位数,开头和结尾必须是1和3,例如“143”,“1..3”标识匹配四位数,例如“143”现在匹配的话就匹配不上了。

3、方括号“[]”

“[]”可以看作是“.”的延伸,都是一个占位符,区别只在于"[]"对元素进行了进一步的限定,例如“1[fb4]3”表示只匹配“143”、“1f3”、“1b3”这三个,如果是别的,统统就不接受了。

4、圆括号“()”

“()”相比“[]”又有所扩大,"[]"只是一个占位符,“()”则可以表示多个占位符,例如“1(abc)3”表示只匹配“1abc3”,当然你还可以用“|”来支持群组匹配的效果,例如“1(abc|2)3”表示只匹配“1abc3”或者“123”。

5、“|”

在圆括号中时候实际上已经提到了,“|”的作用就如同他在代码中的含义:或者。

6、“-”

“-”在正则表达式中可能出现在两种场景,一个单独出现“-”,一个是“\-”,两种场合的意义当然也是不同的,前者表示区间概念,比如“1[1-3]3”,表示匹配“113”、“123”、“133”,出现在括号外部当然意图就是一个纯粹的符号-,这时候要用到转义字符“\”,例如“1[\-]3”表示只匹配字符“1-3”

7、表示匹配次数系列

值得注意的是,表示匹配次数系列的符号都是针对他们的上一个字符起效的,比如“13*”表示匹配“1....”,“13+”表示匹配“13....”,“13?”表示匹配“1”或“13”,“13{2}”表示匹配“133”,“13{2,3}”表示匹配“133”或者“1333”.

8、灭绝师太“^”

“^”表示否定含义的时候,必须用于括号内,它在谁前面,就表示不允许谁出现了。例如“[^1]3”表示匹配除了1开头以外第二位是3的。但是灭绝师太也有柔情的一面,当她在正则表达式的开头时,领着一堆恒山女弟子,为我独尊,只匹配为首字母是下一个字符的,例如“^1”只匹配“1111”中的第一个1。

9、美元符号“$”

“$”用于句末,表示只结尾是某个字符(表达式)的,例如“2$”只会匹配“2222”的最后一个2。

9、“/s”

“/s”表示一个空格,例如“/s+”表示匹配至少一个空格,不过在java中需要使用双斜杠来表示空格:“//s+”

10、快捷符号

顾名思义就是快捷键,就是在某种情况下,我们可以使用一种更简单的表达式达到同样的效果。

注:java中通通要使用双斜杠来表示。

11、","逗你玩

其实","不仅仅用于{},还经常可以出现在方括号里边[1,2],这种情况下其实与“|”的含义是一样的,都表示或者的意思,例如[1,3]表示匹配“1”和“3”.

好了,如果你以上11点都掌握了,那让我们来看看上述验证电话号码的含义吧~

即:前三位数是“13”+0-9的任意一位或者“15 ”+除了4 的0-9的任意一位,或者“18”+0或者5-9;后八位是数字的电话号码。

java正则匹配英文句号_java正则表达式最简单 学习教程相关推荐

  1. java正则匹配英文句号_Scala 正则表达式 0411

    Scala 正则表达式 Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式.以下实例演示了使用正则表达式查找单词 Scala : import scala ...

  2. java正则匹配英文句号_「正则表达式」王国奇遇记

    第一回 初来乍到 NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看 ...

  3. java正则匹配双字节_Java 正则表达式详解(二)

    Java常用正则表达式匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用 ...

  4. java正则匹配英文句号_谈谈正则表达式中的句号.

    我们知道,正则表达式中,可以用 . 表示任意单个字符,但在underscore和jquery的源代码中,我们可以看到,这些著名类库的代码中,经常并不是用 . 来表示任意字符,而是使用 [\w\W] 或 ...

  5. java正则匹配的坑_java正则表达式入坑指南

    在日常开发工作中,无论你使用的语言是java.python.shell.golang还是C#, 正则表达式是编程语言中几乎绕不开的话题.有了它,可以帮你快速定位到符合条件的文本内容.今天小编带大家一起 ...

  6. java正则匹配下划线_java正则表达式-匹配中文数字字母下划线

    正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接.     当然,为了指定一种 ...

  7. java 正则提取大于等于号_Java正则表达式

    一.简述 在字符串比较时,简单的操作可以使用一些算法来查找或匹配,如要判断一个端口地址地址是否合法,可以简单的判断其是否在0-65536之间. 但是,有一些字符匹配操作使用这种方法非常复杂,如匹配一个 ...

  8. java正则匹配下划线_正则表达式(匹配英文、中文、数字、下划线)

    如下的正则: 复制代码 代码示例: ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!. ...

  9. Java正则匹配美元表达式_Java中的正则表达式“ $”(美元)元字符

    子表达式/元字符" $ "与行尾匹配. 例子1import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...

最新文章

  1. 华工智能车队--这里有一群热爱智能车的人
  2. Animated Eye Candy for Programmers
  3. rsync命令使用方法
  4. mysql url格式,关于MySql链接url参数的设置
  5. 1618D. Array and Operations
  6. dbscan聚类算法matlab_密度聚类DBSCAN、HDBSCAN(转)
  7. winform 在panel怎么实现锚点定位_5GC支持URLLC解决方案12:以太网PDU会话锚点重定位...
  8. Array.prototype.slice.call()如何工作?
  9. LeetCode解题思路—双指针模式
  10. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
  11. 8.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 运维
  12. Flask的路由、蓝图和装饰器
  13. WDM驱动程序的基本结构和实例
  14. 自制合成孔径雷达(2) SDR实现的对比(SDR实现测速雷达)
  15. web使用百度地图实现经纬度定位和轨迹
  16. 揭秘:云控系统运行原理,有效规避风控
  17. 数据分析/运营——数据异常的排查方法
  18. 常用数据集预处理(dota)
  19. 齐岳供应TCPP-Fe(3+)四羧基苯基卟啉铁;TCPP-Zn(2+)四羧基苯基卟啉锌
  20. ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?

热门文章

  1. 留念 · 大学时代最后的系统设计图
  2. 6 HomePlug AV MAC数据层
  3. android怎么用图片当按钮,android5.0程序开发的图片按钮ImageButton使用教程
  4. 百世和极兔“联姻”,快递江湖风云再起?
  5. Inverse element
  6. 考研进度记录表(2021.6-2021.11)
  7. 嵌入式开发WIFI方案选型经历
  8. 服务器更新BIOS后无法进入系统
  9. Tekla二次开发的各个模块介绍
  10. Python中的异步