Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16489253
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:31: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 “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。JavaScript 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。   我们可以使用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; 使用实例   在对正则表达式有了较为全面的了解之后,我们就来看一下如何在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 “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。JavaScript 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。   我们可以使用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; 下载本文示例代码


正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)正则表达式使用详解(二)
阅读(145) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~