当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/103376.html

相关文章:

  • CASS数据带属性转GIS的shp数据教程
  • Jenkins配置自动化构建的几个问题
  • ubuntu 命令调节显示器亮度
  • 打卡力扣题目七
  • 【EI/SCOPUS会议征稿】第三届检测技术与自动化工程国际学术会议 (TTAE 2023)
  • 时序预测 | Python实现NARX-DNN空气质量预测
  • 华为数字化转型之道-读书笔记1
  • 环形链表 II(JS)
  • 【字节三面】41. 缺失的第一个正数
  • Linux echo命令与反引号、重定向符号以及管道符
  • HTML基础知识点总结
  • VS附加到进程调试
  • 基于深度学习的高精度狗狗检测识别系统(PyTorch+Pyside6+YOLOv5模型)
  • 从互联网到云时代,Apache RocketMQ 是如何演进的?
  • XML (可扩展标记语言)
  • socket()、bind()、listen()、htons()
  • 提升开发效率,Lombok的链式编程和构建模式
  • DuDuTalk:AI语音工牌如何帮助教培公司高效管理课程顾问团队
  • C语言——静态库和动态库的创建和使用
  • 数学学习——最优化问题引入、凸集、凸函数、凸优化、梯度、Jacobi矩阵、Hessian矩阵
  • HCIP期中实验
  • 【Git系列】IDEA集成Git
  • 短视频矩阵源码开发搭建分享--多账号授权管理
  • 数据中台系列2:rabbitMQ 安装使用之 window 篇
  • Windows驱动开发
  • 汽车分析,随时间变化的燃油效率
  • 大数据面试题之Elasticsearch:每日三题(六)
  • 【管理设计篇】聊聊分布式配置中心
  • 远程控制平台简介
  • 韦东山Linux驱动入门实验班(5)LED驱动---驱动分层和分离,平台总线模型