如何识别列中不同的数字模式?

时间:2017-07-13 20:41:54

标签: mysql powerbi obiee

我正在尝试编写一个单独的公式来识别列/字段中的所有模式。例如:以下是五种不同的模式

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位数字

提前致谢!

1 个答案:

答案 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解释的范围。但要注意。这是一个常见的说法:如果你用正则表达式解决问题,现在你有两个问题。你需要小心它们。