我是REGEX的新手,所以如果这个问题太容易的话,我很抱歉。我在MySQL中工作,并试图创建一个比较,结果如下:
前四比六必须匹配,如果数字-
不匹配,如果其他数字,或小于4
我想也许我可以用这样的方法
SELECT '414720' REGEXP '4147[^0-9-[2]][^0-9-[0]]*'但是它返回/* SQL错误(1139):从regexp */获得错误“无效字符范围”,我想是因为它不支持类减法。我认为我可以生成显式的负组^1,3-9,但这看起来很棘手,我觉得我可能遗漏了一个简单得多的答案。任何帮助都将不胜感激。谢谢。
编辑:上面的x可以代替任何字符,或者不可能出现。添加了第二个匹配示例.
发布于 2014-02-12 00:45:58
我不知道是否更简单,但你可以用:
4147($|\D|2($|\D|0)).*$如http://rubular.com/r/ehDtDaULZe所示。我不知道,如果有什么限制,如果第五个字符不是一个数字的话,第六个字符上有什么限制。
https://stackoverflow.com/questions/21715964
复制相似问题