正则表达式示例应用程序 — 用户注册 正则表达式示例应用程序 — 用户注册


日期:2004 年 9 月 28 日


目录

介绍
应用程序概述
所需软件
术语
配置应用程序
部署和运行应用程序
示例应用程序文件
其他参考

简介

先决条件

要了解该示例应用程序,用户应掌握以下方面的知识:

技术概述

正则表达式是用于描述和处理文本数据的一个强大工具。多种编程语言和脚本语言均支持该种表达式,而且现在 Oracle 数据库 10g SQL 和 PL/SQL 也提供对它的支持。
它是为搜索和处理文本的简单和复杂模式提供了一种方法。正则表达式 API 简化了数据库中文本的搜索、提取、格式化和处理。

最新版本的 Oracle 数据库 — Oracle 数据库 10g — 以下列四种新函数(在 SQL 和 PL/SQL 中均可良好运行)的形式实现了正则表达式支持:

  • REGEXP_LIKE — 类似于 LIKE 操作符。如果第一个参数与一个表达式匹配,则返回真
  • REGEXP_REPLACE — 用给定的匹配子字符串模式替换一个字符串
  • REGEXP_INSTR — 返回一个字符串内与正则表达式匹配的第一个子字符串的起始位置
  • REGEXP_SUBSTR — 返回与正则表达式匹配的子字符串

由于正则表达式允许编程人员根据模式处理文本,因此极其有用。它们被认为是在所有处理文本数据的应用程序中执行诸如字符搜索、处理、验证和格式化之类操作的最高级的方式。此外,它们还在生物信息学中用来帮助识别 DNA 和蛋白质序列。语言学家使用正则表达式来帮助研究自然语言。在 Oracle 数据库中为 SQL 和 PL/SQL 引入的正则表达式原生支持通过在查询、数据定义和字符串处理中提供表达能力根本改变了在数据库内搜索和处理文本的能力。

应用程序概述

在此示例应用程序中,我们通过用户注册的场景演示 REGEXP_LIKE 正则表达式函数的使用。当应用程序运行时,它显示一个表单,用户可以在其中输入他的详细信息。在数据库中创建的两个存储过程 CHECK_EMAIL 和 CHECK_PHONE 使用 REGEXP_LIKE 函数来判断用户输入的电子邮件和电话号码的正确性。当用户提交表单时,DBManager 类连接数据库并通过传递所需的数据来执行两个用户定义的过程。如果给定的数据无效,则存储过程将抛出一个 SQL 错误。该错误将在消息域中显示给用户。如果电子邮件和电话均有效,则将用户数据插入到数据库中。

所需软件

以下是配置和运行此示例应用程序所需的软件。

术语

术语 定义

该示例所解压缩在的目录

安装 JAVA 的目录。

Oracle 数据库的安装目录

配置应用程序

  • 解压缩下载的 RegExpValidate.zip。将文件内容解压缩到 <SAMPLE_HOME> 目录中。
    这将创建包含所有源文件的 REGEXPValidate 文件夹
  • 打开 SQL 提示符。以 scott/tiger 进行连接,然后从 <SAMPLE_HOME>/REGEXPValidate/config 文件夹下运行 RegExp.sql 脚本。这将创建应用程序所必需的表和过程。
  • 使用您最常用的编辑器编辑 REGEXPvalidate/config/Connection.properties 文件。更改 HostNamePort、SID、UserName 和 Password 以连接到您自己的数据库,例如

    主机名

    =

    localhost(或数据库所安装在的服务器的名称)

    SID

    =

    ORCL

    Port

    =

    1521

    用户名

    =

    Scott

    口令

    =

    tiger

 

部署和运行应用程序

可用以下方式之一运行该应用程序:

使用 JDeveloper 10g 运行该应用程序

该部分介绍了使用 Oracle JDeveloper 10g 运行该应用程序所需的步骤。

  • 打开 Oracle JDeveloper 10g,使用 File/Open 选项从 <SAMPLE_HOME>/RegExpValidate 目录中
    选择 RegExpValidate.jws。
  • 接着,从主菜单中选择 Project/Make RegExpValidate.jpr

  • 现在,从主菜单中选择 Run/Run RegExpValidate.jpr。这将打开 Registration Form 框架。

使用 JDK 运行该应用程序

该部分说明运行本示例应用程序所涉及到的步骤。

  • 打开命令提示符并将工作目录更改至 <SAMPLE_HOME>/RegExpValidate/src
  • 设置 classpath 以包含 JDBC 驱动程序库(即 classes12.jar 或 ojdbc14.jar)、Connection.properties 和当前的工作目录。例如,
    设置 CLASSPATH=d:\<ORACLE_HOME>\jdbc\lib\classes12.jar;<SAMPLE_HOME>/REGEXPValidate/config;。 ;
  • 使用以下命令编译这些类
    javac oracle/otnsamples/plsql/*.java
  • 执行以下命令运行示例
    Java oracle.otnsamples.plsql.Registration
  • 这将显示 Registration Form 框架。输入所需的值并“提交”表单。

示例应用程序文件

该部分将以表格形式提供示例应用程序文件及其相应的目录位置以及各文件在应用程序总体方案中所起的作用。

目录 文件 说明
readme.html

本文件

*.java 该示例应用程序中使用的 Java 源文件
Connection.properties
保存数据库详细信息的属性文件
RegExp.sql
SQL 文件,用于创建运行本示例应用程序所必需的表和过程。


其他参考资料


请在此处输入您对该示例应用程序的意见。

寄送此页面
Printer View 打印机视图