我有以下正则表达式在我的应用程序代码中运行良好,其他代码编辑器没有报告它的问题。它用于验证密码。
/^(?=.*[A-Za-z])+(?=.*[\d])+(?=.*[^A-Za-z\d\s])+.*$/
换句话说:
必须有一个字母 必须有一个数字 必须有一个非字母、非数字
现在看来 netbeans 有一个相当不错的正则表达式解析器,它报告说这是一个错误的陈述。但由于我是正则表达式的新手,我无法发现错误。是因为最后使用?=
了一个或多个的正向前瞻+
吗?
当我取出+
错误时,错误消失了,但正则表达式停止在我的应用程序中执行。
如果有人能告诉我我的表达有什么问题,那就太好了。
如果有帮助,该语句用于我使用的 jQuery 验证插件中。同样由于我使用的是插件,我不希望将其拆分为几个更小的(显然更简单和更清晰)的表达式。这将需要大量的工作。