说说对正则表达式的零宽断言的名词翻译理解,包括前后概念的问题

了解正则的断言前需要明确一个前提:

电脑读取一段字符是从左到右的方向进行的,从当前读取的点看 前方是未读取的字符,后方是已经读取过的字符。

这个前后概念和字符后缀正好反过来了 比如后面是ing的字符  这个后恰恰对应正则读取的前方!

下面开始举例解释零宽断言:

我用一队学生里面找人的例子。

一条队伍里面有多个叫小明的同学。

如何找到自己想要的那个小明呢?

可以根据小明前后同学的差别来区分,比如找后面跟着小红的那个小明。

这就是零宽断言

类似的你可以说其他三种: 后面跟着不是小红 ,前面是小红, 前面不是小红.

这里面有个疑惑就是名词说明  前面是小红的那个小明 正则名字是零宽后行断言,明明是前面的为什么是后呢?

这里的后是从计算机执行角度理解的,执行正则检测是从左到右,当找到断言的位置时,之前的字符已经搜索过了,需要往回找,所以就是后。

英文的原文 lookbehind 含义也是回头 回顾, 所以翻译成后行 后视之类的似乎不妥。

翻译还是通俗易懂最好,不要创造新名词。

posted @ 2024-03-04 16:26  smxjue  阅读(28)  评论(0)    收藏  举报