Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式是什么意思_Regex - Fatal编程技术网

Regex 正则表达式是什么意思

Regex 正则表达式是什么意思,regex,Regex,我想了解正则表达式的含义 (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ 下面是我对这个表达的理解。你能证实或解释一下吗 (?=^.{8,}$)字符串应为8个字符或更多 ((?=.*\d)|(?=.*\W+)字符串应包含一个数字或一个特殊字符。W之后的加号是多少 (?![。\n])不确定这部分的意思 (?=.*[A-Z])(?=.*[A-Z]).*$我的理解是,$意味着表达式的结束,所以它前面为什么有一个点和一

我想了解正则表达式的含义

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
下面是我对这个表达的理解。你能证实或解释一下吗

(?=^.{8,}$)
字符串应为8个字符或更多

((?=.*\d)|(?=.*\W+)
字符串应包含一个数字或一个特殊字符。W之后的加号是多少

(?![。\n])
不确定这部分的意思

(?=.*[A-Z])(?=.*[A-Z]).*$
我的理解是,
$
意味着表达式的结束,所以它前面为什么有一个点和一个星号有点让人困惑。还有,为什么只有一个
$
?它不应该有两个:一个在
*[A-Z]
之后,一个在
*[A-Z]
之后?要说这个部分应该确保用户键入一个小写字母和一个大写字母

我正在使用html格式的代码进行练习,效果很好

总的来说,这个常规应该做到这一点,而且它正在做到这一点 大写、小写、数字/特殊字符和最小8个字符

编辑:regex101.com正如@ymonad在评论中所说的那样,我也在试图理解这方面的内容

(?=^.{8,}$)(?=.*\d)|(?=.*\W+)(?![.\n])(?=.[A-Z])(?=.[A-Z]).$

说明:

  • (?=^.{8,}$)
    -验证测试字符串的开头和结尾之间是否至少有8个字符(新行字符除外)
  • (?=.*\d)
    -验证测试字符串是否包含数字
  • |
    -或
  • (?=.*\W+)
    -验证输入字符串是否至少包含一个或多个不在此范围内的非单词字符
    [a-zA-Z0-9\]
  • (?![.\n])
    -a验证输入字符串在当前位置没有换行符
    \n
    或点
  • (?=.[A-Z])
    -验证输入字符串是否有大写字母
    [A-Z]
  • (?=.[a-z])
    -验证输入字符串是否具有小写字母
    [a-z]
  • *
    -在此之前,我们只是根据各种规则验证输入字符串。现在,使用
    *
    我们将匹配除新行字符以外的任何字符的0+次出现次数
  • $
    -断言字符串的结尾

此外,正如评论中指出的,这可能是一个好的开始。

有一个好的网站:谢谢你的回答,我真的需要这个部分吗
(?![。\n])
我得到的印象是dont@user2860957这取决于您实际要验证的内容。我不知道你为什么需要检查换行符,但你可能需要禁止
实际上,这取决于你的要求。此部分只是验证当前位置后面不应跟有
\n
即换行符。我假设如果您当前的位置在字符串的开头,这意味着第一个字符不应该是
或换行符。谢谢不,我不需要这一行,因为我在网上得到了这个正则表达式,我试图理解它,这一部分让我发疯,我的要求是
大写,小写,数字/特殊字符和最少8个字符
以及@EdwardMinnix。