gpt4 book ai didi

java - 我需要 Java 和 Javascript 的特定正则表达式模式

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:28:51 25 4
gpt4 key购买 nike

我需要一个符合以下条件的正则表达式:

  • 最少 5 个字符,没有最大字符数(仅限字母和数字)
  • 必须至少包含 4 个字母
  • 必须至少包含 1 个数字

例如正确结果:根11根root根目录等等……

目前我有模式 ^(?=.*\d{1,})(?=.*[a-zA-Z]{4,}).{5,}$

但这似乎也接受特殊字符......?

非常感谢!

最佳答案

.{5,} 这就是它允许特殊字符的原因(点 = 所有内容(除了换行符等))。将其更改为 [a-z0-9]{5,} 或您想要的任何内容。

注意:(?=.*\d{1,})(?=.*[a-zA-Z]{4,})只检查第二和第三个要求,但是不要说任何关于 Angular 色想要的性质。

编辑:
其他问题:您的规范说“至少 4 个字母”,但您的正则表达式说“4 个连续的字母”。另外,使用 lazy量词。

/^(?=.*?\d)(?=(?:.*?[a-z]){4})[a-z0-9]{5,}$/i

(?=.*?\d) => 你不需要检查超过 1 个数字,一旦找到就停止。
(?=(?:.*?[a-z]){4}) => 更改为查找 4 个字母,但不是连续的。此外,在末尾添加了一个不区分大小写的修饰符 i(在 JS 中,在 Java 中你不是以相同的方式声明它)。

关于java - 我需要 Java 和 Javascript 的特定正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169737/

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