我正在尝试编写一个单独的公式来识别列/字段中的所有模式。例如:以下是五种不同的模式
AG 5643 895468 UWEB
7546 695321 IJJK
PE 45612384
8642567921
16724385
公式 第一种模式:包含 4个数字 6个数字 '* [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0- 9] *'这不起作用。我们可以指定长度吗?这样的东西[0-9] {4} - 4位数字? 第一种模式也应该选择第二种模式。
第3个:前2个字符是字母8或10位数字
第4个:10位数字
第5个8位数字
提前致谢!
答案 0 :(得分:0)
如果你在MySQL工作,你可以使用RLIKE过滤器操作符的正则表达式。
例如,WHERE text RLIKE '[0-9]{8}'
找到所有行中任何连续八位数序列的行。 (http://sqlfiddle.com/#!9/44996/1/0)
WHERE text RLIKE '^[0-9]{8}%'
发现行只包含八位数序列。 (http://sqlfiddle.com/#!9/44996/2/0)
WHERE text RLIKE '^[0-9A-Z]{2} '
查找以两个字母或数字开头的行,然后是空格。 (http://sqlfiddle.com/#!9/44996/3/0)
你明白了。正则表达式对它们有很大的作用,通常超出了SO解释的范围。但要注意。这是一个常见的说法:如果你用正则表达式解决问题,现在你有两个问题。你需要小心它们。