一、前序
近期用到正则时,普通表达没能找到满足需求的方式,则进一步学习正则,遇到断言这个说法,一开始面对这个说法,有些云雾缭绕,难识面目的感觉,基本都在说,断言就是在目前位置向前或向后匹配。不太理解,直接python试验了下,返回的match为空,更是迷惑。要么匹配上,有返回,要么匹配不上,返回None.这个返回为空,到底是匹配了,还是没有匹配?查询了一些网上资料,感觉和第一次见到的介绍类似,仍然不明白,直到遇到一篇讲解概念的,再加上自己的测试,总算有点清楚这个断言所指是什么。
二、断言含义及锚点
所谓“断言”,英文“assertions”.有时候我们中文会用到这个词,比如让文心一言用这个词造句,得到几句话:“
- 我断言这个观点是错误的,因为它缺乏充分的证据支持。
- 在法庭上,律师断言被告是无辜的,并要求释放他。
- 科学家经过反复实验后,断言这种新药能有效治疗某种疾病。
- 他断言自己的项目将改变世界,引发了广泛的关注和讨论。
- 尽管有人对此表示怀疑,但专家断言这项技术将在未来几年内取得重大突破。
”
所以,顾名思义,断言就是肯定地断定或判定并说出来。在正则里面,就是判定是否匹配。所以,到这里,甚至可以说,正则的表达式就是断言。但是,实际中,断言仅仅是涉及到强调限制指定位置之前或之后是否匹配的一些表达字符或者表达格式,比如^和$这两个,大家最为熟悉,强调指定位置之前必须是开头或者位置之后必须是结