婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式的應用

正則表達式的應用

熱門標簽:荊州智能電銷機器人 大學校門地圖標注 銷售電銷機器人詐騙 福建微碼電話機器人 地圖標注與公司業務關系 平涼高德地圖標注商戶要收費嗎 外呼系統api對接 廣西智能外呼系統多少錢 提高電話機器人接通率
一、正則表達式概述
  二、正則表達式在VBScript中的應用
  三、正則表達式在VavaScript中的應用
  四、示例
  五、總結

  一、正則表達式概述 
  如果原來沒有使用過正則表達式,那么可能對這個術語和概念會不太熟悉。不過,它們并不是您想象的那么新奇。
  請回想一下在硬盤上是如何查找文件的。您肯定會使用 ? 和 * 字符來幫助查找您正尋找的文件。? 字符匹配文件名中的單個字符,而 * 則匹配一個或多個字符。一個如 'data?.dat' 的模式可以找到下述文件:data1.dat、data2.dat等等。如果使用 * 字符代替 ? 字符,則將擴大找到的文件數量。'data*.dat' 可以匹配下述所有文件名:data.dat、data1.dat、data12.dat等等,盡管這種搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使你對正則表達式能做什么有一個概念,不過正則表達式的功能更強大,也更靈活。
  在我們編寫ASP程序時,經常會判斷一個字符串的有效性,如;一個串是否是數字、是否是有效的Email地址等等。如果不使用正則表達式,那么判斷的程序會很長,并且容易出錯,如果使用正則表達式,這些判斷就是一件很輕松的工作了。后面我們將介紹如何判斷數字和Email地址的有效性。
  在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術對于靜態文本中的簡單搜索和替換任務可能足夠了,但是由于它缺乏靈活性,因此在搜索動態文本時就有困難了,甚至是不可能的。 
  使用正則表達式,能完成些什么事情呢?
  測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數據有效性驗證。 
  替換文本。可以在文檔中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字。 
  根據模式匹配從字符串中提取一個子字符串。可以用來在文本或輸入字段中查找特定文字。 
  例如,如果需要搜索整個 web 站點來刪除某些過時的材料并替換某些HTML 格式化標記,則可以使用正則表達式對每個文件進行測試,看在該文件中是否存在所要查找的材料或 HTML 格式化標記。用這個方法,就可以將受影響的文件范圍縮小到包含要刪除或更改的材料的那些文件。然后可以使用正則表達式來刪除過時的材料,最后,可以再次使用正則表達式來查找并替換那些需要替換的標記。
  那么,正則表達式語法的語法是如何呢?
  一個正則表達式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。
  這里有一些可能會遇到的正則表達式示例:
  /^\[ \t]*$/ "^\[ \t]*$" 匹配一個空白行。 
  /\d{2}-\d{5}/ "\d{2}-\d{5}" 驗證一個ID 號碼是否由一個2位數字,一個連字符以及一個5位數字組成。 
  /(.*)>.*\/\1>/ "(.*)>.*\/\1>" 匹配一個 HTML 標記。 

  二、正則表達式在VBScript中的應用
  VBScript使用RegExp對象、Matches集合以及Match對象提供正則表達式支持功能。我們還是先看一個例子。
%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches   '建立變量。
Set regEx = New RegExp   '建立正則表達式。
regEx.Pattern = patrn  '設置模式。
regEx.IgnoreCase = True   '設置是否區分字符大小寫。
regEx.Global = True   '設置全局可用性。
Set Matches = regEx.Execute(strng)  '執行搜索。
For Each Match in Matches  '遍歷匹配集合。
RetStr = RetStr  "Match found at position "
RetStr = RetStr  Match.FirstIndex  ". Match value is '"
RetStr = RetStr  Match.value  "'."  "BR>"
Next
RegExpTest = RetStr
End Function
response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%>
在這個例子中,我們查找字符串中有無is或者js這兩個詞,忽略大小寫。運行的結果如下:
Match found at position 0. Match value is 'IS1'.
Match found at position 4. Match value is 'Js2'.
Match found at position 8. Match value is 'IS3'.
Match found at position 12. Match value is 'is4'.
下面我們就介紹這三個對象和集合。
  1、RegExp對象是最重要的一個對象,它有幾個屬性,其中:
  ○Global 屬性,設置或返回一個 Boolean 值,該值指明在整個搜索字符串時模式是全部匹配還是只匹配第一個。如果搜索應用于整個字符串,Global 屬性的值為 True,否則其值為 False。默認的設置為 False。
  ○IgnoreCase 屬性,設置或返回一個Boolean值,指明模式搜索是否區分大小寫。如果搜索是區分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。缺省值為 False。
  ○Pattern 屬性,設置或返回被搜索的正則表達式模式。必選項。總是一個 RegExp 對象變量。
  2、Match 對象
  匹配搜索的結果是存放在Match對象中,提供了對正則表達式匹配的只讀屬性的訪問。 Match 對象只能通過 RegExp 對象的 Execute 方法來創建,該方法實際上返回了 Match 對象的集合。所有的 Match 對象屬性都是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象提供了被正則表達式搜索找到的字符串的訪問、字符串的長度,以及找到匹配的索引位置等。
  ○FirstIndex 屬性,返回在搜索字符串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對于搜索字符串的起始位置而言的。換言之,字符串中的第一個字符被標識為字符 0
  ○Length 屬性,返回在字符串搜索中找到的匹配的長度。
  ○value 屬性,返回在一個搜索字符串中找到的匹配的值或文本。
  3、Matches 集合
  正則表達式 Match 對象的集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來創建之。與獨立的 Match 對象屬性相同,Matches `集合的一個屬性是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象都提供了與正則表達式匹配的字符串的訪問入口、字符串的長度,以及標識匹配位置的索引。
  學習了這三個對象和集合,如何應用于字符串的判斷和替換呢?regExp對象的三個方法正好解決了這個問題,它們是Replace方法、Test方法和Execute方法。
  1、Replace 方法
  替換在正則表達式查找中找到的文本。我們還是先看個例子:下面的例子說明了 Replace 方法的用法。
%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1' 建立變量。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True' 設置是否區分大小寫。
ReplaceTest = regEx.Replace(str1, replStr)' 作替換。
End Function
Response.write ReplaceTest("fox", "cat")  "BR>"' 將 'fox' 替換為 'cat'。
Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1")' 交換詞對.
%>
  2、Test 方法
  對指定的字符串執行一個正則表達式搜索,并返回一個 Boolean 值指示是否找到匹配的模式。正則表達式搜索的實際模式是通過RegExp對象的Pattern屬性來設置的。RegExp.Global屬性對Test方法沒有影響。
  如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。
%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立變量。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = False ' 設置是否區分大小寫。
retVal = regEx.Test(strng) ' 執行搜索測試。
If retVal Then
RegExpTest = "找到一個或多個匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%>
  3、Execute 方法
  對指定的字符串執行正則表達式搜索。正則表達式搜索的設計模式是通過 RegExp 對象的 Pattern 來設置的。
  Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。

  三、javascript中正則表達式的使用
  在javascript 1.2版以后,javascript也支持正則表達式。
  1、replace 
  replace在一個字符串中通過正則表達式查找替換相應的內容。replace并不改變原來的字符串,只是重新生成了一個新的字符串。如果需要執行全局查找或忽略大小寫,那么在正則表達式的最后添加g和i。
例:
SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
/SCRIPT>
結果是:"oranges are round, and oranges are juicy." 
例:
SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
/SCRIPT>
結果是:"Twas the night before Christmas..." 
例:
SCRIPT>
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
/SCRIPT>
結果是:"Smith, John". 
  2、search 
search通過正則表達式查找相應的字符串,只是判斷有無匹配的字符串。如果查找成功,search返回匹配串的位置,否則返回-1。 
         search(regexp)
SCRIPT>
function testinput(re, str){
 if (str.search(re) != -1)
midstring = " contains ";
 else
 midstring = " does not contain ";
 document.write (str + midstring + re.source);
}
testinput(/^[1-9]/i,"123")
/SCRIPT>
  3、match 
  match方法執行全局查找,查找結果存放在一個數組里。
例一: 
SCRIPT> 
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i; 
found = str.match(re); 
document.write(found); 
/SCRIPT>
顯示結果:Chapter 3.4.5.1,Chapter 3.4.5.1,.1 
例二:
SCRIPT>
str = "abcDdcba"; 
newArray = str.match(/d/gi);
document.write(newArray); 
/SCRIPT>
顯示結果D, d.

  四、示例
1 、判斷數字的正確性
%@ Language=VBScript %>
script language="javascript" runat="server">
 function isNumeric(strNumber) {
return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
 }
 function isUnsignedNumeric(strNumber) {
return (strNumber.search(/^\d+(\.\d+)?$/) != -1);
 }
 function isInteger(strInteger) {
return (strInteger.search(/^(-|\+)?\d+$/) != -1);
 }
 function isUnsignedInteger(strInteger) {
return (strInteger.search(/^\d+$/) != -1);
 }
/script>
HTML>
 BODY>
b>判斷數字的正確性/b>
%
Dim strTemp
strTemp = CStr(Request.Form("inputstring"))
If strTemp = "" Then strTemp = "0"
%>
TABLE BORDER="1" CELLPADDING="4" CELLSPACING="2">
 TR>
TD ALIGN="right">B>原始字符串/B>/TD>
TD>%= strTemp %>/TD>
 /TR>
 TR>
TD ALIGN="right">B>數字/B>/TD>
TD>%=isNumeric(strTemp)%>/TD>
 /TR>
 TR>
TD ALIGN="right">B>非負數字/B>/TD>
TD>%=isUnsignedNumeric(strTemp)%>/TD>
 /TR>
 TR>
TD ALIGN="right">B>整數/B>/TD>
TD>%=isInteger(strTemp)%>/TD>
 /TR>
 TR>
TD ALIGN="right">B>非負整數()/B>/TD>
TD>%=isUnsignedInteger(strTemp)%>/TD>
 /TR>
/TABLE>
FORM ACTION="%=Request.ServerVariables("SCRIPT_NAME")%>" METHOD="post">
 請輸入一個數字:BR>
 INPUT TYPE="text" NAME="inputstring" SIZE="50">/INPUT>BR>
 INPUT TYPE="submit" value="提交">/INPUT>BR>
/FORM>
/BODY>
/HTML>
2、判斷Email地址的正確性
%
Function isemail(strng)
 isemail = false
 Dim regEx, Match
 Set regEx = New RegExp
 regEx.Pattern = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
 regEx.IgnoreCase = True
 Set Match = regEx.Execute(strng)
if match.count then isemail= true
End Function
%>

  五、總結
  上面我們介紹了正則表達式的基本概念,以及在VBScript和javascript中如何使用正則表達式,同時,通過一些實例讓大家有了感性的認識。正則表達式的應用范圍很廣,能為大家解決很多實際中的問題。本文介紹的內容只是一些初步的知識,還有很多語法規則需要大家繼續學習,在實踐中發現問題,解決問題。 

標簽:內江 海南 德陽 婁底 黔東 衡陽 邯鄲 樂山

巨人網絡通訊聲明:本文標題《正則表達式的應用》,本文關鍵詞  正則,表達式,的,應用,正則,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式的應用》相關的同類信息!
  • 本頁收集關于正則表達式的應用的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    在线亚洲一区二区| 色综合久久中文综合久久97| 精品一区二区在线观看| 国产欧美日韩在线| 亚洲成人av一区二区三区| 日韩在线一二三区| 亚洲精品在线一区二区| 一区二区三区在线不卡| 亚洲日本中文字幕区| 亚洲一区二区三区视频在线| 五月婷婷激情综合| 久久99在线观看| www.在线成人| 91精品国产手机| 久久九九全国免费| 亚洲一区在线观看免费观看电影高清| 青娱乐精品视频| 国产盗摄视频一区二区三区| 色悠悠久久综合| 666欧美在线视频| 久久精品在这里| 亚洲一区自拍偷拍| 极品少妇xxxx精品少妇| 丁香亚洲综合激情啪啪综合| 欧美日韩国产中文| 久久精子c满五个校花| 一二三区精品福利视频| 蜜桃免费网站一区二区三区| 成人动漫一区二区| 91精品国产福利在线观看| 国产日韩欧美不卡| 亚洲成人免费影院| 不卡视频免费播放| 欧美一级片在线| 亚洲人成精品久久久久| 日本久久一区二区| 91精选在线观看| 日本伊人午夜精品| 99久久精品一区二区| 久久色在线视频| 午夜久久久久久久久久一区二区| 成人永久aaa| 精品剧情v国产在线观看在线| 国产欧美一区二区三区网站| 成人黄色网址在线观看| 中文字幕第一区综合| 欧美日韩精品一区二区在线播放| 国产精品亚洲综合一区在线观看| 亚洲人成精品久久久久久| 久久久美女毛片| 欧美男女性生活在线直播观看| 高清在线成人网| 日韩成人av影视| 精品国产凹凸成av人导航| 久久久777精品电影网影网| 久久国产麻豆精品| 欧美日韩成人综合| 亚洲综合自拍偷拍| 日本道精品一区二区三区| 国产女人18水真多18精品一级做| 精品一区二区免费| 日韩一级视频免费观看在线| 亚洲一二三四在线观看| 亚洲精选视频在线| 成人开心网精品视频| 中文字幕一区二区三区乱码在线| 韩国女主播一区二区三区| 精品国产精品网麻豆系列| 欧美日韩国产另类不卡| 国产美女精品人人做人人爽 | 亚洲国产日韩精品| 国产精品网曝门| 国产精一区二区三区| 亚洲mv大片欧洲mv大片精品| 欧美视频一区二区三区在线观看 | 97aⅴ精品视频一二三区| 麻豆国产精品777777在线| 欧美专区日韩专区| 天天av天天翘天天综合网| 麻豆成人综合网| 成人黄色小视频| 一本到不卡免费一区二区| 欧美精品一区二区三区在线| 加勒比av一区二区| 国产精品美女久久久久久久网站| 国产成人av电影在线播放| 欧美国产一区二区| 色妹子一区二区| 青青草国产成人99久久| 久久久99久久| 北条麻妃国产九九精品视频| 亚洲一区在线播放| 日韩欧美美女一区二区三区| 成人在线视频一区| 亚洲一级二级三级| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品久久综合| 欧美亚洲国产一区二区三区| 另类综合日韩欧美亚洲| 日本一区二区综合亚洲| 欧日韩精品视频| 国产中文字幕一区| 亚洲欧美日韩中文字幕一区二区三区 | www.66久久| 视频一区国产视频| 中文字幕免费一区| 亚洲乱码一区二区三区在线观看| 精品蜜桃在线看| 一区二区三区四区不卡在线| 久久激情五月激情| 在线视频国产一区| 中文字幕在线不卡一区| 亚洲黄色小视频| 亚洲最大色网站| 国产精品夜夜嗨| 欧美日产在线观看| 中文字幕精品一区二区三区精品| 亚洲一区二区在线观看视频 | 北岛玲一区二区三区四区 | 成人av在线影院| 欧美成人一级视频| 亚洲成人激情社区| 91丨porny丨蝌蚪视频| 日韩欧美在线123| 国产欧美一区二区精品婷婷| 亚洲国产成人午夜在线一区| 五月婷婷久久综合| 91免费国产在线观看| 国产蜜臀av在线一区二区三区| 中文字幕在线免费不卡| 精品综合久久久久久8888| 91福利国产精品| 国产精品热久久久久夜色精品三区 | 韩国三级中文字幕hd久久精品| 在线看国产日韩| 国产欧美日本一区视频| 久久99精品国产麻豆婷婷| 91精品国产aⅴ一区二区| 亚洲永久精品国产| 欧美日韩精品一区视频| 亚洲免费观看在线观看| 91免费版pro下载短视频| 亚洲裸体在线观看| 欧美熟乱第一页| 亚洲一区二区成人在线观看| 欧美亚洲综合色| 图片区小说区国产精品视频| 正在播放亚洲一区| 首页国产丝袜综合| 欧美一区二区三区播放老司机| 秋霞影院一区二区| 日韩精品一区二区三区视频播放 | 婷婷成人激情在线网| 色狠狠av一区二区三区| 国产偷国产偷精品高清尤物| 激情图片小说一区| 日韩欧美国产综合一区 | 国产精品1区2区3区| 久久综合色综合88| 国产很黄免费观看久久| 自拍av一区二区三区| 欧美日韩高清影院| 欧美aaa在线| 国产婷婷一区二区| 欧美亚洲自拍偷拍| 久久国内精品自在自线400部| 久久婷婷国产综合国色天香| 国产福利精品一区二区| 国产精品电影院| 欧美午夜精品免费| 久久99精品国产91久久来源| 成人h精品动漫一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 日本不卡高清视频| 中文字幕欧美日韩一区| 欧美午夜一区二区三区| 视频一区国产视频| 中文字幕免费观看一区| 欧美日韩国产综合视频在线观看| 丝袜美腿高跟呻吟高潮一区| 国产日韩欧美精品电影三级在线| 风间由美一区二区av101| 国产精品成人免费在线| 精品少妇一区二区三区在线视频| 日韩国产欧美一区二区三区| 亚洲色图.com| 成人免费电影视频| 一区二区三区日韩在线观看| 国产视频一区二区在线观看| 国产xxx精品视频大全| 麻豆精品一区二区综合av| 欧美日韩亚洲丝袜制服| 成人av网站免费观看| 国产在线观看一区二区| 亚洲日穴在线视频| 国产清纯白嫩初高生在线观看91 | 在线这里只有精品| 蜜臀av一区二区| 亚洲超碰精品一区二区| 亚洲图片你懂的|