正则 是一种描述文本内容组成规律的表示方式,是一个非常强大的文本处理工具。
在编程语言中,正则常常用来简化文本处理的逻辑。
- 校验数据的有效性。如:校验手机号、邮箱;
- 查找符合要求的文本内容。如:查找符合某规则的号码;
- 对文本进行切割,替换等操作。如:用连续的空白符切割。
一、学习初衷
前端开发中不少场景会需要用到正则表达式,虽然网上不少常用的正则表达式,但是总有找不到切合自己当前业务场景的正则表达式的时候,所以最好是自己会写,至少得会改吧。所以系统学习下正则表达式是很有必要的。
二、学习内容
- 学习正则的基础概念和知识,如:正则元字符、匹配模式等,理解并会用正则这个工具;
- 正则的进阶内容,如:正则中的断言(单词边界、行开始和结束、环视)、正则都有哪些流派、不同编译器里的正则都有什么不同等。
三、学习目的
- 了解正则表达式的系统学习方法;
- 掌握常见正则问题及其解决方案。
四、入门流程
1. 做分解
拿到一个问题后,先思考:这个问题可以分为几个问题?每个子问题是否独立?
2. 分拆各个子问题
- 字符组:某个位置上可能有多个字符;
- 多选结构:某个位置上可能有多个字符串;
- 量词:出现的次数不确定;
- 锚点锁位:对出现的位置有要求。
3. 套皮
- 方括号;
- 星号;
- 花括号。
4. 调试
五、注意事项
- 能用普通字符串处理的,坚决用普通字符串处理;
可读性。
- 能写注释的正则表达式,一定要写注释;
可维护性。
- 能用多个简单正则表达式解决的,一定不要苛求用一个复杂的正则表达式。
可维护性。