gpt4 book ai didi

regex - 使用?=。正则表达式

转载 作者:行者123 更新时间:2023-12-03 12:15:57 24 4
gpt4 key购买 nike

我看到了这句话

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9_#@%\*\-]{8,24}$

在正则表达式中,这是密码检查机制。我读过几本有关正则表达式的类(class),但从未见过 ?=.组合的解释。

我想知道它是如何工作的。在示例中,它正在搜索至少一个大写字母,一个小写字母和一个数字。我想这有点像“如果”。

最佳答案

(?=regex_here)positive lookahead。这是一个零宽度的断言,这意味着它与(?=)中包含的正则表达式匹配的位置匹配。要引用链接页面:

lookaround actually matches characters, but then gives up the match,returning only the result: match or no match. That is why they arecalled "assertions". They do not consume characters in the string, butonly assert whether a match is possible or not. Lookaround allows youto create regular expressions that are impossible to create withoutthem, or that would get very longwinded without them.

.不属于前行,因为它与不是行终止符的任何单个字符匹配。

关于regex - 使用?=。正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22438877/

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