【问题标题】:Regex any string with max length正则表达式具有最大长度的任何字符串
【发布时间】:2021-03-21 09:02:30
【问题描述】:

我正在尝试制作一个 mysql-regex SQL,它可以找到任何具有最大长度的字符串——我可以在 javascrtip、php 等中做到这一点——但由于某种原因,我可以让它在 mysql 中工作

示例字符串:

  1. a12
  2. a123
  3. a1234
  4. a12345
  5. a123456

假设我希望我的正则表达式命中任何长度为 4 或更少的字符串 - 所以在上面的示例中,我的正则表达式应该命中 1 和 2。

下面的代码在尝试命中任何超过一定长度的字符串时完美运行,但我无法让它与低于一定长度的字符串一起工作。

([a-zA-Z])[0-9a-zA-Z]{20,}

我显然试图这样做

([a-zA-Z])[0-9a-zA-Z]{0,6}

但由于某种原因不起作用

【问题讨论】:

  • 如果您关心的是 length() 函数,为什么不直接使用它呢?

标签: php mysql sql regex where-clause


【解决方案1】:

我想你想要:

^[a-zA-Z][0-9a-zA-Z]{0,3}$

这匹配一个由字母字符后跟 0 到 3 个字母数字字符组成的字符串。一件重要的事情是匹配整个字符串:这就是锚点 ^(字符串的开头)和 $(字符串的结尾)所做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2017-04-05
    • 1970-01-01
    • 2010-12-09
    相关资源
    最近更新 更多