首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>php>php基础>正文

正则表达式使用详解(二)

http://www.oklinux.cn  2003-05-01  来源: 互联网    会员收藏  游客收藏  【 】 
正则表达式使用详解(二)

使用实例

  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在Perl,PHP,以及JavaScript中使用正则表达式。

  通常,Perl中正则表达式的使用格式如下:

  operator / regular-expression / string-to-replace / modifiers

  运算符一项可以是m或s,分别代表匹配运算和替换运算。

  其中,正则表达式一项是将要进行匹配或替换操作的模式,可以由任意字符,元字符,或定位符等组成。替换字符串一项是使用s运算符时,对查找到的模式匹配对象进行替换的字符串。最后的参数项用来控制不同的匹配或替换方式。例如:

  s/geed/good/

  将会在目标对象中查找第一个出现的geed字串,并将其替换为good。如果我们希望在目标对象的全局范围内执行多次查找—替换操作的话,可以使用参数 “g”,即s/love/lust/g。

  此外,如果我们不需要限制匹配的大小写形式的话,可以使用参数 “i ”。例如,

  m/JewEL/i

  上述正则表达式将会与目标对象中的jewel,Jewel,或JEWEL相匹配。

  在Perl中,使用专门的运算符“=~”指定正则表达式的匹配对象。例如:

  $flag =~ s/abc/ABC/

  上述正则表达式将会把变量$flag中的字串abc替换为ABC。

  下面,我们就在Perl程序中加入正则表达式,验证用户邮件地址格式的有效性。代码如下:

  #!/usr/bin/perl
  # get input
  print “What's your email address?n”;
  $email = <STDIN>
  chomp($email);
  # match and display result
  if($email =~ /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/)
  {
  print(“Your email address is correct!n”);
  }
  else
   {
    print(“Please try again!n”);
   }

  如果用户更偏爱PHP的话,可以使用ereg()函数进行模式匹配操作。ereg()函数的使用格式如下:
   ereg(pattern, string)

  其中,pattern代表正则表达式的模式,而string则是执行查找替换操作的目标对象。同样是验证邮件地址,使用PHP编写的程序代码如下:

  <?php
   if (ereg(“^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+”,$email))
    { echo “Your email address is correct!”;}
   else
    { echo “Please try again!”;}
   ?>
  最后,我们在来看一下JavaScript。JavaScript 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。

  我们可以使用JavaScript编写以下脚本,验证用户输入的邮件地址的有效性。

  <html>
   <head>
    <script language="Javascript1.2">
     <!-- start hiding
     function verifyAddress(obj)
     {
      var email = obj.email.value;
      var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
      flag = pattern.test(email);
      if(flag)
      {
       alert(“Your email address is correct!”);
       return true;
      }
      else
       {
        alert(“Please try again!”);
        return false;
        }
      }
     // stop hiding -->
    </script>
   </head>
   <body>
   <form onSubmit="return verifyAddress(this);">
   <input name="email" type="text">
   <input type="submit">
   </form>
  </body>
 </html>

上一篇:正则表达式使用详解(一)   下一篇:正则表达式(regular expression)


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·正则表达式(regular expression)
·正则表达式使用详解(一)
·怎么样可以把 phpinfo()屏蔽掉
·正则表达式学习笔记
·正则表达式在PHP中的应用
·则表达式判断email和URL
·正则表达式在UBB论坛中的应用
·在线人数统计源代码
·在PHP中用描点法“绘制”中文
·Banner程序
·COM Functions in PHP4 (Windows)
·在Linux下安装显卡驱动程序
·用中文命名,让汉字走向程序开发
·COM in PHP (winows only)
·用Socket发送电子邮件(一)
·dateadd(),datediff()两个函数的例程
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·用PHP执行Oracle存储过程示例
·用php做一个简单的表单
·用Socket发送电子邮件(二)
·用Socket发送电子邮件(一)
·用中文命名,让汉字走向程序开发
·在Linux下安装显卡驱动程序
·在PHP中用描点法“绘制”中文
·在线人数统计源代码
·怎么样可以把 phpinfo()屏蔽掉
·则表达式判断email和URL
·正则表达式(regular expression)
·正则表达式使用详解(一)
  阅读排行
·php.ini 中文版
·PHP安装全攻略:常见问题解答
·Linux新手入门常用命令大全
·入门教程:学习使用PHP数组
·利用PHP和CSS改变网页文字大小
·用AJAX实现聊天功能(part 1)
·PHP5学习笔记第二节PHP5的对象模型
·PHP程序编译中常见错误信息分析及解释
·PHP开发中最常见的文件操作疑难解答
·带你走进PHP世界 PHP新手上路之一
·PHPMyVisites安装
·使用PHP实现登陆验证码
·基于PHP的AJAX技术实现文件异步上传
·视频演示:Zend Platform功能特性详解
·ajax的最大缺点是什么?对搜索引擎的支
网摘收藏: