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

  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在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?
”;  $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!
”);  }  else   {    print(“please try again!
”);   }

  如果用户更偏爱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;

http://www.bkjia.com/phpjc/532605.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/532605.htmltecharticle在对正则表达式有了较为全面的了解之后,我们就来看一下如何在perl,php,以及javascript/” target=”_blank”javascript中使用正则表达式。 通常,…

Posted in 未分类

发表评论