我知道/box(?=.*\d)/
表示只有在将来有数字时匹配box
,但/(?=.*\d)box/
意味着什么?
我已经使用字符串boxboxOtherTextbox3box
进行了测试,发现两个RegExp匹配相同的字符。我感到很困惑。
我在阅读文章时发现了这一点:JavaScript: Password Validation using regular expressions and HTML5
作者使用/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/
确保密码至少包含一位数字;一个小写;一个大写;总共6个字符。
答案 0 :(得分:0)
/box(?=.*\d)/
匹配第一个"框"然后试图断言它有一个数字是正确的(因为" 3"这是真的。)
/(?=.*\d)box/
试图断言字符串中包含某个数字(由于" 3"这是真的),然后匹配第一个"框&#34 ;
前瞻不消耗字符,它只断言存在(或不存在)模式。所以"框"正则表达式'在两种情况下都应用于(并找到)字符串的开头。