DB2实现正则表达式
DB2实现正则表达式
功能描述
db2 11.1 及以上版本支持正则表达式,但是db2 10.5及以下版本不支持正则表达式,需要手工创建正则表达式函数。
安装与卸载步骤
================================================================================
== README.txt
==
== 2010-07-30
== IBM IMTE - Project Avalanche
==
== Author: Alexandre Grancher
==
================================================================================This file describes the set of instructions to follow to deploy or to re-deploy
the DB2 regular expressions package.Context
-------
Oracle gives the ability to its users to use regular expresssions functions to
perform pattern matching directly in their SQL statements.DB2 does not do that natively. Therefore, we have developped a JAVA class to
implement an API which does pattern matching.
DB2 uses JAVA routines to bind with the implemented JAVA functions.Enablement
----------1- Save attached db2_regex.zip file to a new folder on the hard disk for example to C:\avalanche
2- Extract all files from the zip file to C:\avalanche\db2_regex
3- Open C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sql.
4- Edit the script to suit your environment, you will need to :4.1- On the first line, change the database name from DB2MIGR to whatever database you are using4.2- On the second line, you will need to change the directory name. If you are using unix the syntax should be something like : CALL SQLJ.INSTALL_JAR('file:/tmp/avalanche/db2_regex/lib/db2_regex.jar', db2_regex);5- In a DB2 command line processor window, run : \>db2 connect to <my_db> user <uid> using <pwd>\>db2 set current schema='REGEXP'\>db2 -td@ -vf C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sqlIf you have already deployed the package and you want to deploy it again (for
instance you have modified the JAVA code and you want to try the updated code),
then consider the following set of instructions.1- Extract the zip file into C:\avalanche\db2_regex
From a db2 command window :
2- db2 connect t to <my_db> user <uid> using <pwd>
3- db2 set current schema='REGEXP'
4- db2 drop function REGEXP_LIKE
5- db2 drop function REGEXP_REPLACE
6- db2 drop function REGEXP_SUBSTR
7- db2 drop function REGEXP_INSTR
8- db2 call SQLJ.REMOVE_JAR(db2_regex)
9- db2stop force
10- db2start
11- db2 connect to <my_db> user <uid> using <pwd>
12- db2 set current schema='REGEXP'
13- db2 -td@ -f C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sql
14- Make sure that no error was raised at any point.API
---The API to the 4 methods is as follows, they closely follow the syntax for the
Oracle functions defined in http://www.regular-expressions.info/oracle.html.INTEGER REGEXP_LIKE(SOURCE VARCHAR(3000), REGEX VARCHAR(512), MODE VARCHAR(3))VARCHAR(3000) REGEXP_REPLACE(SOURCE VARCHAR(3000), REGEX VARCHAR(512), REPLACEMENT VARCHAR(3000), POSITION INTEGER,OCCURRENCE INTEGER,MODES VARCHAR(3))VARCHAR(3000) REGEXP_SUBSTR(SOURCE VARCHAR(3000),REGEX VARCHAR(512),POSITION INTEGER,OCCURRENCE INTEGER,MODES VARCHAR(3))INTEGER REGEXP_INSTR(SOURCE VARCHAR(3000),REGEX VARCHAR(512),POSITION INTEGER,OCCURRENCE INTEGER,ROPT INTEGER,MODES VARCHAR(3))Further details of each of the parameters passed to the above functions can
used can be found as Java documentation in
C:\avalanche\db2_regex\doc\index.html.Examples
--------select ID from REGEXP.REGEXP_STRINGS where REGEXP_LIKE(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+', 'c') > 0select ID from REGEXP.REGEXP_STRINGS where REGEXP_REPLACE(STRING, '^.EF[]+SAVEALIAS[ ]+[0-9]+', 'XX', 1, 1, 'c')='XX'select ID from REGEXP.REGEXP_STRINGS where REGEXP_SUBSTR(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+', 1, 1, 'c')='DEF SAVEALIAS 2210'select ID from REGEXP.REGEXP_STRINGS where REGEXP_INSTR(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+',1, 1, 1, 'c') > 0---------------------------------
常用正则表达式
- 手机规则:规则:手机号以1[3|4|5|6|7|8|9]开头,位数为11位数字示例:13012345678表达式:^[1][3,4,5,6,7,8,9][0-9]{9}$- 电话规则:电话号码可以存在3~4位区号,使用“-”分隔,后面为7~8位数字;示例:有区号:010-12345678 无区号:12345678正则表达式:^([0-9]{3,4}-)?[0-9]{7,8}$- 身份证简单规则:15位或18位数字,或17位数字+大写字母X,其他规则自行调整;正则表达式:(^\d{15}$)|(^\d{17}(\d|X)$)
下载地址
https://download.csdn.net/download/huryer/88101372?spm=1001.2014.3001.5501
相关文章:
DB2实现正则表达式
DB2实现正则表达式 功能描述 db2 11.1 及以上版本支持正则表达式,但是db2 10.5及以下版本不支持正则表达式,需要手工创建正则表达式函数。 安装与卸载步骤 README.txt2010-07-30IBM IMTE - Project AvalancheAuthor: Alexandre GrancherThis file des…...
CASS数据带属性转GIS的shp数据教程
一、数据:DWG文件中含有JZD(宗地层),JZP(界址点层),其中JZP中含有界址点号,实现JZD层转成ZD的shp数据;JZP转成JZD点的shp数据,并带出界址点号。 二、实现原理…...
Jenkins配置自动化构建的几个问题
在创建构建任务时,填写git远程仓库地址时,出现以下报错 解决此报错先排查一下linux机器上的git版本 git --version 如果git 版本过低,可能会导致拉取失败,此时需要下载更高的git版本。 参考 Git安装 第二个解决办法报错信息中…...
ubuntu 命令调节显示器亮度
1.显示器名字 xrandr -q | grep " connected" HDMI-0 connected primary 1920x108000 (normal left inverted right x axis y axis) 527mm x 297mm DP-4 connected 1920x108019200 (normal left inverted right x axis y axis) 527mm x 297mm 2.调节亮度 xrandr --ou…...
打卡力扣题目七
#左耳听风 ARST 打卡活动重启# 目录 一、题目 二、解题方法一 三、解题方法二 关于 ARTS 的释义 —— 每周完成一个 ARTS: ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share:…...
【EI/SCOPUS会议征稿】第三届检测技术与自动化工程国际学术会议 (TTAE 2023)
第三届检测技术与自动化工程国际学术会议 (TTAE 2023)原定将于2023年9月15-17日在中国西安召开。 检测技术与自动化工程国际学术会议将每年举行一次,旨在将“检测技术”和“自动化工程”等学术领域的学者、专家、研发者、技术人员聚集到一个学术交流的平台…...
时序预测 | Python实现NARX-DNN空气质量预测
时序预测 | Python实现NARX-DNN空气质量预测 目录 时序预测 | Python实现NARX-DNN空气质量预测效果一览基本介绍研究内容程序设计参考资料效果一览 基本介绍 时序预测 | Python实现NARX-DNN空气质量预测 研究内容 Python实现NARX-DNN空气质量预测,使用深度神经网络对比利时空气…...
华为数字化转型之道-读书笔记1
第一章 数字化转型,华为的战略选择 1. 数字化转型是企业的必答题 1.1 解决时代难题:“鲍莫尔成本病” “体验变流量,流量变收入”是其常见的商业模式。数字化平台通过“作业即记录、记录及数据”的方式,能给企业带来很多好处&a…...
环形链表 II(JS)
环形链表 II 题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,…...
【字节三面】41. 缺失的第一个正数
41. 缺失的第一个正数 解题思路 在原数组上进行操作 如果数字是2 将其放在索引为1的位置上数字x 放在索引为x - 1的位置上对于长度为n的数组 其中没有出现的最小正整数只能在[1,n 1]引入如果1 - n 这些数都出现了 那么答案就是n 1如果都没有出现完全 那么答案就在[1,n]中没…...
Linux echo命令与反引号、重定向符号以及管道符
echo echo命令echo结合反引号echo结合重定向符echo结合管道符 echo命令 Linux中的echo命令用于在终端输出指定的文本内容或变量值。 基本语法如下: echo [选项] [字符串]常用选项包括: -e:启用特殊字符的解析,例如\n表示换行符…...
HTML基础知识点总结
目录 1.HTML简介 2.HTML基础结构 主要字符: 3.基础知识 (一)p标签 (二)hr标签 (三)尖角号 (四)版权号 (五)div和span div span (六)列表 (1&…...
VS附加到进程调试
操作: 要附加到进程中调试外部可执行文件,您需要使用Visual Studio的“调试附加”功能。以下是附加到进程中调试外部可执行文件的步骤: 打开您要调试的源代码文件或可执行文件。打开Visual Studio。选择“调试”菜单,然后选择“…...
基于深度学习的高精度狗狗检测识别系统(PyTorch+Pyside6+YOLOv5模型)
摘要:基于深度学习的高精度狗狗检测识别系统可用于日常生活中检测与定位120类狗狗目标,利用深度学习算法可实现图片、视频、摄像头等方式的狗狗目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练…...
从互联网到云时代,Apache RocketMQ 是如何演进的?
作者:隆基 2022 年,RocketMQ 5.0 的正式版发布。相对于 4.0 版本而言,架构走向云原生化,并且覆盖了更多业务场景。 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车,而消息队列属于最经典的中间件之一…...
XML (可扩展标记语言)
目录 一、概念 二. 使用: 1. 基本语法: 2. 组成部分: (1)文档声明 (2) 指令(了解):结合css (3) 标签:标签名称自定义 (4)…...
socket()、bind()、listen()、htons()
socket() socket() 是一个系统调用函数,用于创建一个套接字(socket),通过该套接字进行网络通信。在这段代码中,socket() 函数被用于创建一个本地套接字。 具体来说,这是 socket() 在代码中的使用方式&…...
提升开发效率,Lombok的链式编程和构建模式
目录 链式编程 定义 代码示例 编辑 Accessors(chaintrue) 开启链式编程 编辑 Accessors(chain true,fluent true) 去除set和get 构建模式 定义 代码示例 编辑 踩坑 Singular 定义 代码示例 踩坑默认值情况 编辑 With 定义 代码示例 链式编程 定义 链…...
DuDuTalk:AI语音工牌如何帮助教培公司高效管理课程顾问团队
近年来,随着人工智能的快速发展,越来越多的公司开始利用AI技术来提高工作效率和管理效果。在教育培训行业中,课程顾问团队的管理对于公司的运营和发展至关重要。 而在实际管理中,受教培人员素质参差不齐,能力差异大&a…...
C语言——静态库和动态库的创建和使用
使用库函数是源码的一种保护 库函数其实不是新鲜的东西,我们一直都在用,比如C库。我们执行pringf() 这个函数的时候,就是调用C库的函数. 下面记录静态库和动态库的生成和使用. 静态库:libxxx.a 动态库:libxxx.so 静态库: 在程序编译的时候,将库编译进可执行程序中, 运行的…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
