快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在Perl,PHP,以及JavaScript/" target="_blank">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 “Whats your email address?/n”;
  $email = $#@60;STDIN$#@62;;
  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编写的程序代码如下:

  $#@60;?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!”;}
   ?$#@62;
  最后,我们在来看一下JavaScript/" target="_blank">JavaScript。JavaScript/" target="_blank">JavaScript 1.2中带有一个功能强盛的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方式可以检验目标对象中是否包含匹配模式,并相应的返回true或false。

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

  $#@60;html$#@62;
   $#@60;head$#@62;
    $#@60;script language="Javascript1.2"$#@62;
     $#@60;!-- 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 --$#@62;
    $#@60;/script$#@62;
   $#@60;/head$#@62;
   $#@60;body$#@62;
   $#@60;form onSubmit="return verifyAddress(this);"$#@62;
   $#@60;input name="email" type="text"$#@62;
   $#@60;input type="submit"$#@62;
   $#@60;/form$#@62;
  $#@60;/body$#@62;
 $#@60;/html$#@62;


返回类别: 教程
上一教程: 新闻发布系统 (例子) 一 news
下一教程: 做一个信息发布功能

您可以阅读与"正则表达式使用详解(二)"相关的教程:
· 正则表达式使用详解(一)
· 如何使用PHP中的正则表达式
· Pattern Modifiers - 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不相同。。所...
· 常用正则表达式语法例句
· 正则表达式例子:在一个字符串中查找另一个字符串
    微笑服务 优质保证 索取样品