找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 363|回复: 1

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

[复制链接]
发表于 2005 年 10 月 8 日 15:42:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
    在对正则表达式有了较为全面的了解之后,我们就来看一下如何在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;


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
 楼主| 发表于 2005 年 10 月 8 日 15:42:02 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价

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

    在对正则表达式有了较为全面的了解之后,我们就来看一下如何在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;


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 20 日 06:25 , Processed in 0.022704 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表