gpt4 book ai didi

ruby-on-rails - 正则表达式允许 1-500 个字符

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:49 24 4
gpt4 key购买 nike

# A-Z, a-z, 0-9, _ in the middle but never starting or ending in a _
# At least 5, no more than 500 characters

/[A-Za-z\d][-A-Za-z\d]{3,498}[A-Za-z\d]/ }

您好,我上面有以下内容。我想更新规则以允许 1 个字符。我尝试将 3 更改为 1。

    /[A-Za-z\d][-A-Za-z\d]{1,498}[A-Za-z\d]/ }

但这失败了。

我如何允许至少有 1 个字符,即 A-Z、a-z 或 0-9 而不是破折号,并保持上面列出的规则?

谢谢

最佳答案

您可以通过使用前瞻来分别对每个规则进行编码来简化事情:

/^(?!_)(?!.*_$)\w{1,500}$/

解释:

  • (?!_):不以下划线开头。
  • (?!.*_$):不以下划线结尾。
  • [\w]{1,500}:包含 1 到 500 个允许的字符。

一个优点是最小和最大限制(1 和 500)非常明确并且易于更改。在不更改现有代码的情况下稍后添加某些类型的新限制也很容易 - 只需添加另一个检查该规则的前瞻性。

这是一个在线工作的例子(为清楚起见,更改为 1 到 10 个允许的字符,而不是 1 到 500 个):

关于ruby-on-rails - 正则表达式允许 1-500 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680437/

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