SparkSQL HiveSQL 常用正则表达式

2023-11-17

             SparkSQL  HiveSQL  常用正则表达式

目录

                                                              SparkSQL  HiveSQL  常用正则表达式

1、匹配汉字:

2、匹配手机号码

3、匹配身份证:

4、SparkSQL HiveSQL 常用正则函数:

5、SparkSQL  分组 聚合 函数:

6、SparkSQL 随机数:

7、SparkSQL  逻辑运算符

8、SparkSQL REGEXP_SUBSTR 函数格式如下:

9、regexp_replace(1,2,3,4,5,6)


1、匹配汉字:

正则表达式:regexp '^[\\u4e00-\\u9fa5]';    --开头是汉字

正则表达式:regexp '[^\\u4e00-\\u9fa5]+';   --不包含汉字

正则表达式:regexp '[\\u4e00-\\u9fa5]';     --含有汉字

2、匹配手机号码

正则表达式:regexp ‘^1([3578][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$’

3、匹配身份证:

正则表达式:
十八位: '^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$'
十五位: ' ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$'

4、SparkSQL HiveSQL 常用正则函数:

regexp_extract  正则提取某些字符串,

regexp_replace 正则替换

5、SparkSQL  分组 聚合 函数:


select name, collect_set(course) as course_set from T_course group by name
select col1,col2,concat_ws( ' , ' , collect_set ( col3 )  )  from  tablename  group by col1 , col2;

6、SparkSQL 随机数:

SELECT md5(RAND() + new.id);
-- 生成 3 位的随机数
SELECT CEILING(RAND()*900+100);
-- 生成 4 位的随机数
SELECT CEILING(RAND()*9000+1000);
-- 生成 5 位的随机数
SELECT CEILING(RAND()*90000+10000);

7、SparkSQL  逻辑运算符

非(NOT 或 !):
mysql> SELECT NOT 0,NOT 1,NOT NULL;
mysql> SELECT !0, !1, !NULL;

与(AND 或 &&):
mysql> SELECT (1 AND 1), (0 AND 1), (3 AND 1), (1 AND NULL);
mysql> SELECT (1 && 1), (0 && 1), (3 && 1), (1 && NULL);

或(OR或 ||):
mysql> SELECT (1 OR 0), (0 OR 0), (1 OR NULL), (1 OR 1), (NULL OR NULL);
mysql> SELECT (1 || 0), (0 || 0), (1 || NULL), (1 || 1), (NULL || NULL);

异或(XOR 或 ^):
mysql> SELECT (1 XOR 1), (0 XOR 0), (1 XOR 0), (0 XOR 1), (NULL XOR 1);
mysql> SELECT (1 ^ 1), (0 ^ 0), (1 ^ 0), (0 ^ 1), (NULL ^ 1);

8、SparkSQL REGEXP_SUBSTR 函数格式如下:


function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr     :需要进行正则处理的字符串
__pattern    :进行匹配的正则表达式
__position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。

9、regexp_replace(1,2,3,4,5,6)

语法说明:

1:字段String  

2:替换的字段 正则表达式  

3:替换成什么  

4:起始位置(默认从1开始)  

5:替换的次数(0是无限次)  
6:不区分大小写 i:大小写不敏感;c:大小写敏感;n:点号 . 不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SparkSQL HiveSQL 常用正则表达式 的相关文章

随机推荐

  • postgresql从入门到菜鸟(三)基本命令和窗口函数

    上一篇我们已经在rhel上创建了数据库 并且建立的一张成绩表 之后通过通过客户端连接上服务器端 这一篇将会写一些关于数据库的操作 首先是一些基本的操作的操作如选择数据库 查看表等等 连接至服务器端后可以通过以下命令查看数据库的基本信息 l
  • 记录element-plus + vue3.2 + tsx 开发时的问题

    开发时 select组件无法通过 model value v model value 设置值 查看了一下源码 image png https p1 juejin byteimg com tos cn i k3u1fbpfcp e1e92e6
  • 搞懂了Vue对象与实例的区别!

    很多人把Vue对象和Vue实例混为一谈 但它们还是有区别的 Vue构造函数就像一台智能手机的设计图纸 定义了这款手机的总体结构和组件 而每部依照设计图组装出来的真实手机 就是Vue实例 设计图上注明了屏幕尺寸 CPU型号等静态信息 对应Vu
  • vscode 自动导入包(组件)插件Auto Import安装好后,依旧没有自导导入提示的原因

    在TodoList js中 第一次用AntDesign的
  • Linux系统下搭建(更新)cuda环境

    本人之前ubuntu系统装的是cuda8 因为模型需要升级cuda 因此重新装cuda10 安装和更新cuda和cudnn以及安装和更新显卡驱动 下面操作都适合 一 安装 升级 显卡驱动 升级cuda之前 先要升级显卡驱动 登陆网页http
  • v-show切换显示隐藏失败

    最近在使用element ui时发现使用v show显示某一元素不生效 问题 当切换到日期维度时坐席中心并不会跟着改变 解决方法 将v show替换成v if 总结 v show是不支持template语法的 v if vs v show
  • MySQL分页查询慢怎么办

    今天看到一个问题 MySQL分页查询慢怎么办 第一反应是用limit限制返回的条数 比如 select from table order by idlimit 10 100 实际上我们限制的只是返回的条数是100 并不是查询时就从第10条开
  • java网络编程

    java网络编程 1 1 概述 1 2 网络通信的要素 如何实现网络通信 通信双方地址 地址ip 端口号 127 0 0 1 8080 OSI七层模型 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img w2Vt3r
  • 测试人遇到难以重现的bug,要怎么办?

    长时间做测试的人 自然也惹上了一堆毛病 譬如 这生了病不叫病 叫做bug 好了 发现bug了第一件事情 重现或者说确认开始了 摸了摸自己的胸口 恩 有点痛 但是又似乎是飘渺的 看来这还是一个难以重现的bug 作为一个资深的测试人员 我们是不
  • 2021斯坦福CS224N课程笔记~4

    4 依存解析 Dependency Parsing 参考文档 https zhuanlan zhihu com p 420736640 https www showmeai tech article detail 237 https zhu
  • 地鼠君黑盒测试--小白功能测试避雷经验分享

    测试计划 接到任务的第一时间 需要快速建档 准备测试计划 测试计划主要有几个侧重点 第一 该项目的截止时间和团队是否确定的阶段时间交付 第二 模块分析图 这一块由于公司小 缺少原型图 常常导致滞后产生 并且这一块花费的时间 笔者发现常常超时
  • centos7.5重启网络服务,网卡ip先显示后消失

    ip地址丢失不见 网卡报错 当重启网卡时 Job for network service failed because the control process exited with error code See systemctl sta
  • Qt+百度AI实现人脸识别之人脸检测

    文章目录 简单需求 Demo运行结果 百度AI人脸识别接入 为什么使用百度AI接口 接入步骤 如何获取Access Token Qt软件开发 人脸检测Qt编程步骤 知识点 网络编程 get put post请求方式的区别简述 POST 提交
  • Ubuntu开机启动项的增删改

    一 在重组系统 或者不想开机启动有太多的内核项显示 可以通过修改grub cfg内的内容进行更正 文件路径 boot grub grub cfg 二 grub cfg的详细内容 DO NOT EDIT THIS FILE It is aut
  • 特征选择之过滤式、包裹式、嵌入式

    常见的特征选择方法 特征选择 过滤式选择 包裹式选择 嵌入式选择 特征选择 从原始特征集合中选出对当前学习任务有用的最重要的一些特征 特征选择的原因 1 维度灾难 由于属性过多 导致维数灾难 若通过特征选择 则能大大减轻这一问题 2 降低学
  • 时序预测

    时序预测 MATLAB实现基于Adam算法优化BiLSTM双向长短期记忆神经网络时间序列预测 目录 时序预测 MATLAB实现基于Adam算法优化BiLSTM双向长短期记忆神经网络时间序列预测 效果一览 基本介绍 模型描述 程序设计 学习总
  • 一种罕见的代理程序自身引用死“锁”问题

    在使用sdkd 代理软件时 发现其他网页和程序都能联网 但是代理软件本身无法联网 排查 host dns 网卡 防火墙等 最后锁定在了系统变量上 发现由于之前在使用openai代码的时候设置了引用代理软件自身端口的系统变量 http pro
  • 手机访问静态html页面,手机访问电脑本地静态页面

    如果用webstrom打开一个单独的页面 在浏览器中现实的地址是 如果这恰好是你正在开发的用于移动端的页面 想要在手机上访问以便于测试验证效果 怎么访问到呢 在webstorm的setting中是有相关可设置的 只是我试了不好用 下面有几种
  • eclipse导入后将普通项目变为java项目

    eclipse用subclipse导入svn项目时 没有选择项目类型 这样就不能修改项目的buildpath no action aviliable 打开workspace下面的 projcet文件在标签
  • SparkSQL HiveSQL 常用正则表达式

    SparkSQL HiveSQL 常用正则表达式 目录 SparkSQL HiveSQL 常用正则表达式 1 匹配汉字 2 匹配手机号码 3 匹配身份证 4 SparkSQL HiveSQL 常用正则函数 5 SparkSQL 分组 聚合