Regex AngularJS ng模式怪异行为(正则表达式)

Regex AngularJS ng模式怪异行为(正则表达式),regex,angularjs,angular-ui-router,Regex,Angularjs,Angular Ui Router,我使用ng模式来验证我的客户端,比如查看密码复杂性 现在,我在正则表达式中使用ng模式得到了非常奇怪的匹配。看看下面的例子 <span class="registration-error" ng-show="regForm.password.$error.pattern">- Fail to match..</span> <input type="password" ng-model="regis

我使用ng模式来验证我的客户端,比如查看密码复杂性

现在,我在正则表达式中使用ng模式得到了非常奇怪的匹配。看看下面的例子

<span class="registration-error" ng-show="regForm.password.$error.pattern">- Fail to match..</span>
<input type="password" ng-model="registerForm.password" name="password" ng-pattern="/^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d\W]).*$/"  required/>
-无法匹配。。
以上内容需要8个字符,至少1个大写字符和1个数字或特殊字符。 出于某种原因,我在诸如FaiLoudD之类的词上找到了匹配项,这是没有意义的

我在我的python后端运行相同的正则表达式,它工作起来很有魅力。 我还验证了正则表达式的使用,它的工作也很完美

为什么ng模式匹配得这么奇怪

更新:
我浏览了所有模块和我的应用程序的整个构建过程。当我在构建过程中禁用grunt-html2js时,ng模式指令再次开始工作。这似乎导致ng模式错误地解释正则表达式。因为问题是在html2js项目中创建的。至此,我将结束这个问题。

我浏览了所有模块以及我的应用程序的整个构建过程。当我在构建过程中禁用grunt-html2js时,ng模式指令再次开始工作。这似乎导致ng模式错误地解释正则表达式。因为问题是在html2js项目中创建的。至此,我将结束这个问题

测试了grunt-html2js的0.1.3和0.1.6版本

更新 html2js项目中产生的问题导致版本0.1.7解决了该错误。
感谢karlgoldstein的快速响应和修复。

这可能无法修复它,但您应该从模式的开头删除
*
,因为您实际上希望所有lookahead都从字符串的开头开始(这也会显著提高性能)。感谢m.buettner,没有解决实际问题,但我根据您的建议更改了我的正则表达式模式。除了我的客户,它在任何地方都能完美工作。Ng模式仍然表现得很好。看起来很好。嗯,真的很好。是的,它有效。如果我把你的代码粘贴到我的模板中,我会得到完全相同的错误。什么可能会干扰ng模式以匹配错误?我试图移除所有注入并清空我的控制器,以确保其中没有任何操作,但这并不重要。同样的错误。如果你接受自己的答案,它看起来会更加封闭!:)