持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情
在前后端的体系中,正则就像数据结构和算法一样通用。尽管技术上使用很广泛,但由于前端使用场景频率较低,大多数前端并不会花太多时间在上面。所以造成使用时,需要现查现找。文本就通过四个方面,帮大家梳理下正则使用方式。
字符相关
正则中使用频率最高的分类,就是字符相关的。一共有七个情况。分别是:\w、\W、\s、\S、\d、\D、.。
- \w代表数字字母下划线,\W指非数字字母下划线的情况。
- \s代表空格,\S非空格。
- \d指数字,\D非数字。
- .在正则中指代任何字符。
这里的大小写,是取反的意思。
//示例如下:
/\w/.test('2222 aaa_'); //true
/\W/.test('2222 aaa_'); //true
/\s/.test('2222 aaa_'); //true
/\S/.test('2222 aaa_'); //true
/\d/.test('2222 aaa_'); //true
/\D/.test('2222 aaa_'); //true
/./.test('2222 aaa_'); //true
数量相关
当进行正则匹配的时候,往往相同字符要求出现一定数量后再匹配。这时候只使用字符是不便满足使用的。因此需要表示数量的字符加入。这部分一共分为四个字符。{}、?、+、*。
- {min, max} : 代表一个区间,左侧为最小值,右侧最大。
- ?:代表出现0次或者一次的字符。
- +:表示出现一次或者一次以上。
- *:字符出现0次或者无穷次。
此处,可以使用 {min, max} 的方式涵盖?、+、 * 三种形式。
位置相关
当知道了要匹配的字符以及数量,那剩下的就只有位置了。通过这三个元素,我们可以命中任意字符串了。并且通过匹配规则解析目标字符串。
- ^:一行的开头。
- $: 一行的结尾。
- \b:边界。
- \B:无边界。
- \n:换行。
结束语
本文从字符、数量、位置三个方面,总结了正则中的基本语法。希望通过简单的分类,帮助大家有效的记忆。从而达到使用的时候,能够从大脑中快速解锁。当然,要是复杂的正则关系,还要多加使用练习,简单的语法组合并不能培养正则思维。谢谢大家关注,愿共同进步。
天可补,海可填,南山可移。日月既往,不可复追。——曾国藩