以下是强密码验证之一,至少包含六个字符并包含数字,符号或标点符号。
(?x)^(?=.* ( \d | \p{P} | \p{S} )).{6,}
(?=.*
之后(?x)^
的含义是什么?
我理解?=
expr是Lookahead,用于检查后面的文本是否与expr匹配。但在这种情况下,只有字符串开头的^
才会提前。
答案 0 :(得分:4)
用语言说:
注释标志已设置((?x)
)。
字符串的开头(^
)必须是第一个,后面跟着(?=
)零个或多个字符(.*
),然后是((||)
})一个数字(\d
),一个标点符号(\p{P}
)或一个符号(\p{S}
)。
字符串开始后,必须有6个或更多字符(.{6,}
)
这可以解释一下吗?