你真的了解正则吗(1)
絮絮叨叨
首先为什么要写这篇文章呢 ? 一次突发的机遇 , 需要在项目里面编写很多匹配路由的正则 , 让我有点小小的慌忙 , 因为这个网站所有的路由类型穿插了很多数字 , 字母大小写 , 甚至还有被转换过的url , 在编写时 , 发现不能复用的正则表达式相当多 , 就是一个表达式可能只能匹配一条url , 这个是一个大忌 , 对于代码是一个十分不友好的编写习惯 , 所以有必要写一篇关于正则的文章 , 这篇文章主要详细的介绍了正则的使用和匹配规则 , 接下来这个系列会从递归 , 无限递归 , 捕获 , 反向引用 , 回溯以及正则引擎内部六个方面 , 全面讲解正则
正则表达式 , 是计算机科学的一个概念 , 正则表达式使用单个字符串来描述 , 匹配一系列符合某个句法规则的字符串 , 常用于检索替换
安利羞羞网站
一个查看正则轨道图的网站 , 这个网站有助于我们写的正则表达式是如何运行的
大部分正则表达式都有以下语法
| 这就是一个类似于逻辑或语法 , 优先级处于最低级 , 如 a | b ;
关于数量限制
圆括号(小括号) , 定义操作符的范围和提升优先级 , 如 a(b?c)d , 转换成 abc或者acd ;
a(a|b*)d 转换 aad 或者 abd 或者abbd