首先,记录一个很好用的小工具——正则表达式菜鸟工具https://c.runoob.com/front-end/854
判断一串数字是否包含连续相同的5个数字——
ORACLE的正则实现方法如下:
SELECT * FROM DUAL WHERE REGEXP_LIKE(‘12111131222222’,’(\d)\1{4}’)
而HIVE,和JAVA正则表达式一样,特殊字符修需要\转义。所以,HIVE的正则实现方法如下:
SELECT ‘12111131222222’ rlike ‘(\\d)\\1{4}’
在此之前,漏写了转义符\ ,误写为了 SELECT ‘12111131222222’ rlike ‘(\\d)\1{5}’。这样只能识别连续5个1。
使用菜鸟工具,快速获取了几种语言判断连续相同数字的正则表达式如下
JavaScript - JavaScript 正则表达式
var pattern = /(\d)\1{4}/,
str = ‘’;
console.log(pattern.test(str));
PHP
$str = ‘’;
$isMatched = preg_match(’/(\d)\1{4}/’, $str, matches);vardump(matches); var_dump(matc