正则表达式使用详解(二)
使用实例 
  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在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 = <> 
  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编写以下脚本,验证用户输入的邮件地址的有效性。 
  <> 
   <> 
    <
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> 
   <> 
   < onSubmit="return
verifyAddress(this);"> 
   < name="email"
type="text"> 
   <
type="submit"> 
   </form> 
  </body> 
 </html>