本文摘自PHP中文网,作者hzc,侵删。
正则表达式字符匹配这是阅读《JavaScript正则表达式迷你书》后整理的一些笔记。
正则表达式是匹配模式,可以匹配字符,可以匹配位置。
下面主要介绍匹配字符的情况,匹配位置的情况我也正在学习中。
两种模糊匹配:
1.横向模糊匹配:一个正则可匹配的字符串的长度不是固定的。其实现方式是使用量词。比如说{m,n}是指字符最少连续出现m次,最多n次。
如/ab{2,5}c/ 表示匹配这样一个字符串:第一个字符是 “a”,接下来是 2 到 5 个字符 “b”,最后是字符 “c”。
例如:(大家可以手动试一下,想想会得到哪些结果)
1 2 3 |
|
g是一个修饰符,它表示全局匹配,就是在string里面按顺序找到满足匹配条件的所有的字串。
2.纵向模糊匹配:一个正则可匹配的字符串具体到某一位字符,可以不是一个确定的字符,可以有多种可能。其实现方式是使用字符组
如/a[123]b/表示匹配这样一个字符串:第一个字符是a,第二个字符可以是’1’,‘2’,'3’中的任何一个,但是只能是一个。
量词(重复)
1.常见的简写形式:
(1){m,} 表示至少出现m次
(2){m} 表示出现m次
(3)? 等价于{0,1} 表示出现或者不出现
(4)+ 等价于{1,} 表示至少出现1次
(5)* 等价于{0,} 表示出现任意次,可以不出现,也可以若干次
2.贪婪匹配与惰性匹配
(1)贪婪匹配:/\d{2,5}/ 表示数字连续出现2-5次,会尽量多的匹配
1 2 3 4 |
|
(2)惰性匹配:/\d{2,5}?/ 表示虽然2-5次都可以,但是当2个就够的时候,就不再尝试。
1 2 3 4 |
|
相关阅读 >>
更多相关阅读请进入《js》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者