java正则匹配英文句号_java正则表达式最简单 学习教程
本大教程以一个验证手机号的表达式为例,学完本例后,基本上所有的表达式都能看懂了,但是如果想要达到上手就能写的程度,还需要多练习多测试 呀!
来看 这样一个代码
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正则表达式最简单 学习教程相关推荐
- java正则匹配英文句号_Scala 正则表达式 0411
Scala 正则表达式 Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式.以下实例演示了使用正则表达式查找单词 Scala : import scala ...
- java正则匹配英文句号_「正则表达式」王国奇遇记
第一回 初来乍到 NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看 ...
- java正则匹配双字节_Java 正则表达式详解(二)
Java常用正则表达式匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用 ...
- java正则匹配英文句号_谈谈正则表达式中的句号.
我们知道,正则表达式中,可以用 . 表示任意单个字符,但在underscore和jquery的源代码中,我们可以看到,这些著名类库的代码中,经常并不是用 . 来表示任意字符,而是使用 [\w\W] 或 ...
- java正则匹配的坑_java正则表达式入坑指南
在日常开发工作中,无论你使用的语言是java.python.shell.golang还是C#, 正则表达式是编程语言中几乎绕不开的话题.有了它,可以帮你快速定位到符合条件的文本内容.今天小编带大家一起 ...
- java正则匹配下划线_java正则表达式-匹配中文数字字母下划线
正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接. 当然,为了指定一种 ...
- java 正则提取大于等于号_Java正则表达式
一.简述 在字符串比较时,简单的操作可以使用一些算法来查找或匹配,如要判断一个端口地址地址是否合法,可以简单的判断其是否在0-65536之间. 但是,有一些字符匹配操作使用这种方法非常复杂,如匹配一个 ...
- java正则匹配下划线_正则表达式(匹配英文、中文、数字、下划线)
如下的正则: 复制代码 代码示例: ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!. ...
- Java正则匹配美元表达式_Java中的正则表达式“ $”(美元)元字符
子表达式/元字符" $ "与行尾匹配. 例子1import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...
最新文章
- 华工智能车队--这里有一群热爱智能车的人
- Animated Eye Candy for Programmers
- rsync命令使用方法
- mysql url格式,关于MySql链接url参数的设置
- 1618D. Array and Operations
- dbscan聚类算法matlab_密度聚类DBSCAN、HDBSCAN(转)
- winform 在panel怎么实现锚点定位_5GC支持URLLC解决方案12:以太网PDU会话锚点重定位...
- Array.prototype.slice.call()如何工作?
- LeetCode解题思路—双指针模式
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
- 8.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 运维
- Flask的路由、蓝图和装饰器
- WDM驱动程序的基本结构和实例
- 自制合成孔径雷达(2) SDR实现的对比(SDR实现测速雷达)
- web使用百度地图实现经纬度定位和轨迹
- 揭秘:云控系统运行原理,有效规避风控
- 数据分析/运营——数据异常的排查方法
- 常用数据集预处理(dota)
- 齐岳供应TCPP-Fe(3+)四羧基苯基卟啉铁;TCPP-Zn(2+)四羧基苯基卟啉锌
- ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?