首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL中的Regex类减法等价

MySQL中的Regex类减法等价
EN

Stack Overflow用户
提问于 2014-02-12 00:09:16
回答 1查看 429关注 0票数 1

我是REGEX的新手,所以如果这个问题太容易的话,我很抱歉。我在MySQL中工作,并试图创建一个比较,结果如下:

前四比六必须匹配,如果数字-

  • “414720”匹配“414720xxx1234”
  • '414720‘匹配’4147xxxxx1234‘
  • '414720‘匹配’41472*abcd‘
  • '414720‘匹配'4147’

不匹配,如果其他数字,或小于4

  • '414720‘不匹配'414799xxxx1234’
  • '414720‘与’414xxxxx1234‘不匹配

我想也许我可以用这样的方法

代码语言:javascript
复制
SELECT '414720' REGEXP '4147[^0-9-[2]][^0-9-[0]]*'

但是它返回/* SQL错误(1139):从regexp */获得错误“无效字符范围”,我想是因为它不支持类减法。我认为我可以生成显式的负组^1,3-9,但这看起来很棘手,我觉得我可能遗漏了一个简单得多的答案。任何帮助都将不胜感激。谢谢。

编辑:上面的x可以代替任何字符,或者不可能出现。添加了第二个匹配示例.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 00:45:58

我不知道是否更简单,但你可以用:

代码语言:javascript
复制
4147($|\D|2($|\D|0)).*$

http://rubular.com/r/ehDtDaULZe所示。我不知道,如果有什么限制,如果第五个字符不是一个数字的话,第六个字符上有什么限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21715964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档