gpt4 book ai didi

java - 如何构造特定的 Java 正则表达式

转载 作者:行者123 更新时间:2023-11-30 02:54:41 25 4
gpt4 key购买 nike

我需要检查登录名。它必须(这是政治决定,而不是技术决定):

  1. 5 到 30 个字符;
  2. 字符必须来自组[a-zA-Z0-9*]
  3. 至少一个字符必须是数字;
  4. 如果登录名有 5 个字符,则不可能仅从数字中获取所有字符,但如果登录名有 6 个或更多字符,则可以仅从数字构建。

我有正则表达式 (?=[a-zA-Z0-9*]*[0-9])[a-zA-Z0-9*]{5,30} 有效对于第 1-3 点,但无法想象如何包含对第 4 点的检查。

最佳答案

使用正则表达式 negative look ahead assertion

(?!\d{5}$)(?=[a-zA-Z\d*]*\d)[a-zA-Z\d*]{5,30}
<小时/>

Regex explanation here.

Regular expression visualization

关于java - 如何构造特定的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37615928/

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