说说parse_url和正则表达式,在SQL中如何解析字符串

剪切板与URL操作实战:跨平台自动化开发核心技术解析 剪切板操作与URL处理是程序与操作系统、浏览器及其他应用交互的基础技术。其核心原理在于通过系统API或浏览器接口,实现数据的程序化读写与标准化解析。在工程实践中,这两项技术能有效打通应用间的数据流,提升自动化脚本与工具的交互效率。例如,通过pyperclip库可实现跨平台文本剪切板监控,结合urllib.parse进行URL编码解码,能构建出如“自动解析并打开剪切板链接”的自动化流程。这类技术广泛应用于浏览器插件开发、桌面应用集成、自动化测试等场景,是解决数据流转与协议调用的关键技术。掌握剪切板多格式读写与 阅读详情

学习更多,欢迎关注微信公众号:Excel办公小技巧  

 SQL作为一种结构化查询语言,方便我们快速拿到大量存储规范的数据。不过我们也会遇到不能直接拿到我们想要的数据格式,比如我们要从URL中拿到某个参数值或是拿到某一字符串中的指定长度,今天我们介绍两个功能来帮助我们:parse_url函数以及正则表达式功能。

1. parse_url函数提取URL需求信息

1.1 主机HOST

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=111','HOST')

结果:mp.weixin.qq.com

1.2 获取URL路径PATH

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=111','PATH')

结果:/s/bblf5-0Ur8MUgG02kpOc5Q

1.3 获取协议PROTOCOL

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=111','PROTOCOL')

结果:https

1.4 获取?后面的内容QUERY

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=111','QUERY')

结果:case=111

1.5 获取?后面参数对应的值

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=111','QUERY','case')

结果:111

1.6 获取#后的内容:

select parse_url('https://mp.weixin.qq.com/s/bblf5-0Ur8MUgG02kpOc5Q?case=#abc','REF');

结果:abc

2. 正则表达式提取需求信息

    正则表达式是一种字符的匹配模型,在很多语言中都会用到。本篇文章通过SQL里的regexp_extract函数实现的几个小案例带大家了解下,详细语法后续单独作为一篇文章介绍。

语法:regexp_extract(要提取的字符串,正则表达式,0(全部返回)或者1(返回第一部分),2,3...)

2.1 提取数字部分

    [0-9]表示数字,{1,100}表示数字个数在1-100之间,0表示全部返回

select regexp_extract('acbd 1324','[0-9]{1,100}',0)

    或者使用+返回一个或多个或者{1,}不写最大值约束

select regexp_extract('acbd 1324','[0-9]+',0)

结果:1324

2.2 提取英文部分

select regexp_extract('acbd 1324','[a-zA-Z]+',0)

结果:acbd

2.3 提取中文部分

select regexp_extract('acbd 1324中文部分','[\\u4e00-\\u9fa5]+',0)

结果:中文部分

2.4 提取数字和英文部分

2.4.1 中间包含其他字符,如空格

select regexp_extract('acbd 1324中文部分','[\\u4e00-\\u9fa5]+',0)

结果:acbd 1324

2.4.2 中间包含其他字符,如下划线

select regexp_extract('acbd_1324中文部分','\\w+',0)

结果:acbd_1324

2.4.3 若数字字母相连

select regexp_extract('acbd1324中文部分','[A-Za-z0-9]+',0)

结果:acbd1324

2.5 提取浮点类型数值

select regexp_extract('acbd1324.33中文部分','(\\d+)(\\.\\d+)',0)

结果:1324.33

2.6 有负数怎么办

select regexp_extract('acbd:-1324.33','(-*\\d+)(\\.\\d+)',0)

结果:-1324.33

Python实战:构建SQL注入日志自动化检测脚本 SQL注入是一种常见的Web安全漏洞,攻击者通过在用户输入中插入恶意SQL代码,试图操纵后端数据库查询。其原理是利用应用程序对用户输入验证或过滤不严,将输入数据直接拼接到SQL语句中执行。理解SQL注入的原理对于构建安全的应用至关重要,其技术价值在于能够主动发现和防御此类攻击,避免数据泄露、篡改甚至服务器被控制等严重后果。在安全运维、渗透测试和CTF竞赛等应用场景中,从海量的服务器访问日志中快速、准确地识别SQL注入攻击痕迹是一项核心实战能力。本文聚焦于利用Python实现一个高效的日志分析工具,通过构建包 阅读详情

相关推荐

SQL进阶技巧:Hive URL解析函数详解及实际应用

本文根据实际业务中存在问题,对hive中url解析函数进行了详细分析,给出了具体的应用示例,并针对每种函数存在的问题进行分析,给出相应的解决方案。

石榴姐yyds 658

Hive sql Url解析函数

Hive的parse_url函数使用 --parse_url: 对URL进行解析返回指定部分的信息。 parse_url(url, partToExtract[, key]) - extracts a part from a URL --解析URL字符串 --partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AUTHORITY,USERINFO] 命令说明 对url解析后,按照part提取信息。 参数说明 url:必填。STRING类型。UR

紫蝶侠的博客 4931

STM32H745xI双核芯片SMPS/LDO配置误区:从复位失败到精准排查的实战复盘

本文详细分析了STM32H745xI双核芯片在SMPS/LDO配置中的常见误区,特别是复位失败问题的排查过程。通过对比参考板与故障板的波形数据,揭示了电感选型不当导致的电源稳定性问题,并提供了硬件设计检查清单和调试技巧,帮助开发者避免类似陷阱。

weixin_42531588的博客 264

sql函数coalesce和parse_url

coalesce(a, b,c,d) 参数的个数没有限制。coalesce函数可以用来排除null值。返回第一个参数中非null的值。

叶子常常随风而落,分享博主日常学习和使用的一些技术 556

Python量化交易实战:从零搭建你的第一个多因子选股模型(附完整代码)

本文是一份详细的Python量化交易入门实战指南,手把手教你从零搭建第一个多因子选股模型。内容涵盖环境配置、数据获取、因子挖掘与有效性检验、多因子合成以及完整的策略回测与绩效评估,并附有可直接运行的完整代码,帮助初学者快速掌握量化交易的基本概念与实践流程。

resnet7explorer的博客 931

玩转 Milvus(二):在 Ubuntu 22.04(WSL2)上安装 Milvus

本文详细介绍了在Ubuntu 22.04(WSL2)环境下安装Milvus向量数据库的两种单机模式:Milvus Lite和Milvus Standalone。Milvus Lite作为轻量级Python库,适合快速学习和小规模实验,只需通过pip安装即可使用。Milvus Standalone则支持Docker和Docker Compose两种部署方式,适合开发测试或小规模生产环境。文章对比了不同安装方式的优缺点,并提供了验证案例和常见问题解答,帮助开发者快速上手,实现简单的语义搜索功能。

企业级后端与 AI 应用开发双线探索 2506

Spark Hive SQL parse_url获取HOST parse_url(referrer,‘HOST‘) 转为java代码

【代码】Spark Hive SQL parse_url获取HOST parse_url(referrer,'HOST') 转为java代码。

qq_39285950的博客 737

AntV G6边动画实战:手把手教你实现数据流向箭头与虚线流动效果

本文详细解析了如何使用AntV G6实现数据流向箭头与虚线流动效果,通过自定义边动画提升数据可视化的动态表现力。从基础环境搭建到核心概念讲解,再到虚线流动动画和箭头路径动画的具体实现与参数调控,帮助开发者掌握G6边动画的高级技巧,适用于网络流量监控、数据传递等场景。

weixin_28487433的博客 264

数仓项目拉链表

离线数仓项目中拉链表

weixin_44870066的博客 2065

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5651

Windows平台MuJoCo仿真环境配置与Qt集成实战

本文详细介绍了在Windows平台上配置MuJoCo物理仿真环境并与Qt框架集成的完整实战流程。内容涵盖从环境准备、库文件配置、项目创建到核心代码编写的每一步,重点解决了Windows下常见的编译链接错误和路径问题,帮助开发者在Windows系统中高效搭建机器人仿真与可视化控制开发环境。

weixin_29221753的博客 170

hive 函数总结--更新中

row_number() over 语法:ROW_NUMBER() OVER(PARTITION BY COLUMNORDER BY COLUMN) row_number() OVER (PARTITION BYCOL1ORDERBYCOL2)表示根据COL1分组,在分组内部根据COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(该编号在组内是连续并且唯一的)。 分组统计排序: ROW_NUMBER() OVER (PARTITION BY video_...

hello_java_lcl的博客 354

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9641

3、字符串函数

本文总结了常用的字符串处理函数,主要分为以下几类:1)字符编码转换(ASCII/CHR/URL编解码等);2)字符串拼接与重复(CONCAT/REPEAT);3)长度与位置计算(LENGTH/INSTR);4)截取与拆分(SUBSTR/SPLIT);5)替换与变换(REPLACE/TRANSLATE);6)清洗与格式化(TRIM/TOUPPER/FORMAT_NUMBER);7)正则表达式(REGEXP_REPLACE/REGEXP_EXTRACT);8)哈希加密(MD5/MASK_HASH);9)URL和

lydms的博客 1万+

静态时序分析—门控时钟检查(clock gating check)

clock gating check的条件与类型

m0_61544122的博客 9600

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【hive】从url中提取需要的部分字符串

本人菜鸟一只,如果有什么说错的地方还请大家批评指出!! 事情是这样的,hive的A表中,有url这样的一个字段,我想要提取这个字段中的某一部分(这不就是截取字符串嘛)。但是substring肯定是满足不了我的需求的,自己写hive的udf也不太现实(用最简单的方式完成任务,才会让后来的维护变得更加方便,否则除了维护sql还要维护一堆udf,那才叫可怕)。因此我初步的想法就是正则!然后经过同事的提...

lsr40的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Hive函数03_字符串分割切片截取函数

一、split 首先要讲的是split函数,这个函数的作用是对字符窜进行分割,基本用法为:split(string str, string pat) ,返回值为一个数组array,因此要取值得话需要用到切片,即[数字],其中第一个str是要切分的字符串,第二个pat是以什么字符进行切割 语法: split(string str, string pat) 返回值: array 说明: 按照pat...

清平乐的技术专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Hive:字符串函数

函数名称:concat用途:连接字符串格式:string concat(string,string)

qq_41081716的博客 2435

Impala字符串函数全解析:从基础操作到性能调优实战指南

在数据仓库和即席查询领域,字符串处理是数据清洗、转换与分析的基础操作,其效率直接影响查询性能与结果准确性。字符串函数的核心原理在于对字符序列的构造、定位、转换与匹配,通过内置函数实现高效的数据加工。从技术价值看,掌握字符串函数能显著提升数据工程师在ETL流程、日志解析、字段格式化等场景的工作效率,避免因函数误用导致的数据错误或性能瓶颈。尤其在Impala这类MPP架构的查询引擎中,字符串函数的合理选用与优化更是大数据量下保障查询速度的关键。本文聚焦Impala字符串函数,深入探讨其设计哲学、与Hive的异同

weixin_30820077的博客 310

[转]Hive的parse_url函数

refer to http://blog.youkuaiyun.com/xiaolang85/article/details/8823025    parse_url(url, partToExtract[, key]) - extracts a part from a URL 解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,...

dacoolbaby的专栏 245

hive in 字符串_hive函数总结-字符串函数

正则表达式替换函数:regexp_replace语法: regexp_replace(string A, string B, string C)返回值: string说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符举例:hive> select regexp_replace(‘foobar’, ‘oo|ar’, ”) from dual;fb正则表...

weixin_39777967的博客 354

php将数据库数据字符串拆分,php字符串拆分函数实例学习

$str="http://bbs.it-home.org/junzaivip";$arr = pathinfo($str);echo "";print_r($arr);echo "";?>//将一个域名拆分为数组$str="http://bbs.it-home.org/junzaivip.php?id=10&name=20";$arr = parse_url($str);$query...

weixin_39951929的博客 183

Web安全实战:从.swp泄露到parse_str覆盖的完整渗透测试链解析

在Web安全领域,信息泄露与输入验证不严是常见的安全隐患。信息泄露漏洞,如开发过程中遗留的.swp等备份文件,可能直接暴露服务器源码和关键逻辑,为攻击者提供清晰的攻击面。而输入验证的核心环节——正则表达式过滤,若设计存在缺陷(如未考虑编码绕过、逻辑顺序问题),则可能被精心构造的Payload绕过。这些基础漏洞的串联能形成完整的攻击链,具有极高的技术价值。在CTF竞赛和渗透测试实战中,攻击者常利用此类漏洞链,从源码泄露获取过滤规则,进而通过编码、双写等技术绕过正则限制,最终结合变量覆盖等漏洞提升权限。本文即以

weixin_34025051的博客 440

hvie sum 字符串_hive支持sql大全(7-8:字符串函数、集合统计函数)

七、字符串函数1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') from lxw_dual; 72. 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例: hive&g...

weixin_42509847的博客 900

hive最全的常用字符串函数(建议收藏)

1.字符串长度计算函数:length 语法:length(string A), 返回值:int 例子: spark-sql> select length('abc'); 3 Time taken: 0.095 seconds, Fetched 1 row(s) 2.字符串反转函数:reverse 语法:reverse(string A) 返回值: string 说明:返回字符串A的反转结果 例子: spark-sql> select reverse('abc'); cba Time taken

程老师的博客 1705

C++ TinyWebServer实战:手把手教你用有限状态机解析HTTP请求(附正则表达式避坑指南)

本文详细介绍了如何使用C++和有限状态机(FSM)构建高效的TinyWebServer HTTP请求解析器。通过工程化实现、正则表达式优化和缓冲区管理,解决报文不完整、非法字符等常见问题,提升解析性能和健壮性。附有正则表达式避坑指南和实战代码示例,适合开发者快速掌握Web服务器核心技术。

weixin_30698527的博客 505
上一篇: index和roundup扩展数据行并实现筛选
下一篇: Python处理Excel,带你认识pandas
TheLittlePython
博客等级 码龄9年 47粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值