【问题标题】:Regex pattern which allow a string having length atleast 8 but it not allow length 16允许长度至少为 8 但不允许长度为 16 的字符串的正则表达式模式
【发布时间】:2018-10-15 09:28:43
【问题描述】:

我的要求是创建一个正则表达式模式,它允许长度至少为 8 的字符串,对于最大值,它允许除 16 之外的任何长度。

我试过这个 ^.{8,}$ 要求至少 8 个字符,但我很困惑如何更新它,以便它可以允许任何长度最小 8 但不是 16。

【问题讨论】:

  • 你试过什么?什么不起作用?
  • ^.{8,}$ 我试过这个要求至少 8 个字符但我很困惑如何更新它以便它可以允许任何长度 min 8 但不是 16
  • ^.{8,16}$ else ^(?!.{16}$).{8,}$ 匹配8个以上但不匹配16个
  • 可以大于16,16是不允许的
  • @SaakshiAggarwal 感谢您提供补充信息和澄清。总是编辑问题并在那里添加问题,这样我们就可以将所有内容放在一个地方。

标签: java regex regex-negation


【解决方案1】:

这样就可以了:

^(?!.{16}$).{8,}$

说明:

^               : beginning of string
    (?!         : negative lookahead, zero-length assertion that make sure we don't have 
        .{16}   : 16 characters
        $       : end of string
    )           : end lookahead
    .{8,}       : any character, at least 8
$               : end of string

【讨论】:

    猜你喜欢
    • 2022-07-03
    • 2017-11-30
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2011-04-27
    • 2012-08-02
    • 2014-06-21
    • 1970-01-01
    相关资源
    最近更新 更多