是什么意思?=在^之后?

时间:2013-04-22 06:48:04

标签: c# regex

以下是强密码验证之一,至少包含六个字符并包含数字,符号或标点符号。

(?x)^(?=.* ( \d | \p{P} | \p{S} )).{6,}

(?=.*之后(?x)^的含义是什么?

我理解?= expr是Lookahead,用于检查后面的文本是否与expr匹配。但在这种情况下,只有字符串开头的^才会提前。

1 个答案:

答案 0 :(得分:4)

用语言说:

注释标志已设置((?x))。

字符串的开头(^)必须是第一个,后面跟着(?=)零个或多个字符(.*),然后是((||) })一个数字(\d),一个标点符号(\p{P})或一个符号(\p{S})。

字符串开始后,必须有6个或更多字符(.{6,}

这可以解释一下吗?