gpt4 book ai didi

javascript - 上下+数字或其他非字母的正则表达式

转载 作者:行者123 更新时间:2023-11-30 09:04:43 24 4
gpt4 key购买 nike

在这里看我的帖子

Regex for at least 8 + upper and lower+numbers or other non-alphabetic

假设我只需要下面这两个条件,正则表达式应该是什么?

  1. 包含大小写字母。
  2. 包含数字或其他非字母字符。

我尝试了 ^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z])$但不工作

但只是- - (?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z]) 正在运行

我可以只使用 (?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z]) 吗目的?

最佳答案

这里的问题是向前看/向后看是零宽度的,“非消耗”。这意味着你的

^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z])$

永远不会匹配,因为环视没有消耗任何东西然后还剩下什么?仅匹配空字符串的 ^$,但这不符合您的前瞻标准。

所以你应该使用

^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z]).*$

.* 将消耗所有内容,并且前瞻性确保了标准。

您还可以定义一个长度,用 {x,} 替换 *,其中 x 是字符串的最少字符数

关于javascript - 上下+数字或其他非字母的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6070466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com