首页 > 开发 > PHP > 正文

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

2024-05-04 23:02:22
字体:
来源:转载
供稿:网友


收集最实用的网页特效代码!

 

使用实例
  
  
  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在perlphp,以及javascript中使用正则表达式。
  
  
  通常,perl中正则表达式的使用格式如下:
  
  
  operator / regular-expression / string-to-replace / modifiers
  
  
  运算符一项可以是ms,分别代表匹配运算和替换运算。
  
  
  其中,正则表达式一项是将要进行匹配或替换操作的模式,可以由任意字符,元字符,或定位符等组成。替换字符串一项是使用s运算符时,对查找到的模式匹配对象进行替换的字符串。最后的参数项用来控制不同的匹配或替换方式。例如:
  
  
  s/geed/good/
  
  
  将会在目标对象中查找第一个出现的geed字串,并将其替换为good。如果我们希望在目标对象的全局范围内执行多次查找替换操作的话,可以使用参数 “g”,即s/love/lust/g
  
  
  此外,如果我们不需要限制匹配的大小写形式的话,可以使用参数i。例如,
  
  
  m/jewel/i
  
  
  上述正则表达式将会与目标对象中的jeweljewel,或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_-])[email protected]([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_-])[email protected]([a-za-z0-9_-])+(/.[a-za-z0-9_-])+”,$email))
  
    { echo “your email address is correct!”;}
  
   else
  
    { echo “please try again!”;}
  
   ?>
  
  最后,我们在来看一下javascriptjavascript 1.2中带有一个功能强大的regexp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回truefalse
  
  
  我们可以使用javascript编写以下脚本,验证用户输入的邮件地址的有效性。
  
  
  <html>
  
   <head>
  
    <script language="javascript1.2">
  
     <!-- start hiding
  
     function verifyaddress(obj)
  
     {
  
      var email = obj.email.value;
  
      var pattern = /^([a-za-z0-9_-])[email protected]([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>
  
  
  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表