?=在^之后是什么意思?
问题描述:
以下是强密码验证之一,它至少包含六个字符并包含数字,符号或标点符号。?=在^之后是什么意思?
(?x)^(?=.* (\d | \p{P} | \p{S})).{6,}
什么的(?=.*
(?x)^
后的含义是什么?
我明白?=
expr是Lookahead,检查后面的文本是否匹配expr。但在这种情况下,只有字符串开头的^
在前面。
答
以下是强密码验证之一,它至少包含六个字符并包含数字,符号或标点符号。?=在^之后是什么意思?
(?x)^(?=.* (\d | \p{P} | \p{S})).{6,}
什么的(?=.*
(?x)^
后的含义是什么?
我明白?=
expr是Lookahead,检查后面的文本是否匹配expr。但在这种情况下,只有字符串开头的^
在前面。
我认为我们可能对这里的“前面”这个词有不同的理解 - 在那个时候,'^'已经匹配了,所以它在后面*。 – 2013-04-22 06:51:45