程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 正則表達式使用詳解(2)

正則表達式使用詳解(2)

編輯:PHP綜合

在對正則表達式有了較為全面的了解之後,我們就來看一下如何在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? ”;
   $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! ”);
   }
   else
    {
     print(“Please try again! ”);
    }

正則表達式使用詳解

如果用戶更偏愛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編寫以下腳本,驗證用戶輸入的郵件地址的有效性。

<html>
   <head>
    < 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>
   <body>
   <form onSubmit="return verifyAddress(this);">
    <input name="email" type="text">
    <input type="submit" value="提交">
    </form>
   </body>
  </html>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved