gpt4 book ai didi

regex - 正则表达式、先行和后行的命名约定

转载 作者:行者123 更新时间:2023-12-05 09:00:17 25 4
gpt4 key购买 nike

为什么它违反直觉?

/(?<!\d)\d{8}(?!\d)/ , 在这里 (?<!\d)出现在第一,但称为lookbehind(?!\d) next,但称为lookahead。一切都是反直觉的。

这样命名的原因是什么?

最佳答案

因为正则表达式引擎从头到尾都在消耗字符。因此,“前面”指向字符串的末尾,“后面”指向字符串的开头。

    ...xyz12345678abc...
behind --->---------- ahead

(?!\d) 断言 \d{8} 后面有一个十进制数,因此正则表达式引擎需要检查字符串末尾方向的字符,即look-ahead

类似于后视。

关于regex - 正则表达式、先行和后行的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2514182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com