校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ASP 正則表達(dá)式的應(yīng)用使用說明

ASP 正則表達(dá)式的應(yīng)用使用說明

熱門標(biāo)簽:福州工作銷售電話機(jī)器人 RO地圖標(biāo)注app 百音電話機(jī)器人 電銷機(jī)器人公司簡介 知名的電話機(jī)器人 高德地圖標(biāo)注短信簽約 湖南企業(yè)智能外呼系統(tǒng)供應(yīng)商 錫林郭勒盟地圖標(biāo)注位置 自制電銷機(jī)器人
一、正則表達(dá)式概述
如果原來沒有使用過正則表達(dá)式,那么可能對這個術(shù)語和概念會不太熟悉。不過,它們并不是您想象的那么新奇。
請回想一下在硬盤上是如何查找文件的。您肯定會使用 ? 和 * 字符來幫助查找您正尋找的文件。? 字符匹配文件名中的單個字符,而 * 則匹配一個或多個字符。一個如 'data?.dat' 的模式可以找到下述文件:data1.dat、data2.dat等等。如果使用 * 字符代替 ? 字符,則將擴(kuò)大找到的文件數(shù)量。'data*.dat' 可以匹配下述所有文件名:data.dat、data1.dat、data12.dat等等,盡管這種搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使你對正則表達(dá)式能做什么有一個概念,不過正則表達(dá)式的功能更強(qiáng)大,也更靈活。
在我們編寫ASP程序時,經(jīng)常會判斷一個字符串的有效性,如;一個串是否是數(shù)字、是否是有效的Email地址等等。如果不使用正則表達(dá)式,那么判斷的程序會很長,并且容易出錯,如果使用正則表達(dá)式,這些判斷就是一件很輕松的工作了。后面我們將介紹如何判斷數(shù)字和Email地址的有效性。
在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術(shù)對于靜態(tài)文本中的簡單搜索和替換任務(wù)可能足夠了,但是由于它缺乏靈活性,因此在搜索動態(tài)文本時就有困難了,甚至是不可能的。
使用正則表達(dá)式,能完成些什么事情呢?
測試字符串的某個模式。例如,可以對一個輸入字符串進(jìn)行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數(shù)據(jù)有效性驗證。
替換文本。可以在文檔中使用一個正則表達(dá)式來標(biāo)識特定文字,然后可以全部將其刪除,或者替換為別的文字。
根據(jù)模式匹配從字符串中提取一個子字符串。可以用來在文本或輸入字段中查找特定文字。
例如,如果需要搜索整個 web 站點來刪除某些過時的材料并替換某些HTML 格式化標(biāo)記,則可以使用正則表達(dá)式對每個文件進(jìn)行測試,看在該文件中是否存在所要查找的材料或 HTML 格式化標(biāo)記。用這個方法,就可以將受影響的文件范圍縮小到包含要刪除或更改的材料的那些文件。然后可以使用正則表達(dá)式來刪除過時的材料,最后,可以再次使用正則表達(dá)式來查找并替換那些需要替換的標(biāo)記。那么,正則表達(dá)式語法的語法是如何呢?
一個正則表達(dá)式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文
字主體時待匹配的一個或多個字符串。正則表達(dá)式作為一個模板,將某個字符模式與所搜索的字符串進(jìn)行匹配。
這里有一些可能會遇到的正則表達(dá)式示例:
復(fù)制代碼 代碼如下:

/^\[ \t]*$/ "^\[ \t]*$" 匹配一個空白行。
/\d{2}-\d{5}/ "\d{2}-\d{5}" 驗證一個ID 號碼是否由一個2位數(shù)字,一個連字符以及一個5位數(shù)字組成。
/(.*)>.*\/\1>/ "(.*)>.*\/\1>" 匹配一個 HTML 標(biāo)記。


  二、正則表達(dá)式在VBScript中的應(yīng)用
  VBScript使用RegExp對象、Matches集合以及Match對象提供正則表達(dá)式支持功能。我們還是先看一個例子。
復(fù)制代碼 代碼如下:

%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches   '建立變量。
Set regEx = New RegExp   '建立正則表達(dá)式。
regEx.Pattern = patrn  '設(shè)置模式。
regEx.IgnoreCase = True   '設(shè)置是否區(qū)分字符大小寫。
regEx.Global = True   '設(shè)置全局可用性。
Set Matches = regEx.Execute(strng)  '執(zhí)行搜索。
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這兩個詞,忽略大小寫。運(yùn)行的結(jié)果如下:
復(fù)制代碼 代碼如下:

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 屬性,設(shè)置或返回一個 Boolean 值,該值指明在整個搜索字符串時模式是全部匹配還是只匹配第一個。如果搜索應(yīng)用于整個字符串,Global 屬性的值為 True,否則其值為 False。默認(rèn)的設(shè)置為 False。
  ○IgnoreCase 屬性,設(shè)置或返回一個Boolean值,指明模式搜索是否區(qū)分大小寫。如果搜索是區(qū)分大小寫的,則IgnoreCase 屬性為 False;否則為 True。缺省值為 False。
  ○Pattern 屬性,設(shè)置或返回被搜索的正則表達(dá)式模式。必選項。總是一個 RegExp 對象變量。
  2、Match 對象
  匹配搜索的結(jié)果是存放在Match對象中,提供了對正則表達(dá)式匹配的只讀屬性的訪問。 Match 對象只能通過 RegExp 對象的 Execute 方法來創(chuàng)建,該方法實際上返回了 Match 對象的集合。所有的 Match 對象屬性都是只讀的。在執(zhí)行正則表達(dá)式時,可能產(chǎn)生零個或多個 Match 對象。每個 Match 對象提供了被正則表達(dá)式搜索找到的字符串的訪問、字符串的長度,以及找到匹配的索引位置等。
  ○FirstIndex 屬性,返回在搜索字符串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對于
搜索字符串的起始位置而言的。換言之,字符串中的第一個字符被標(biāo)識為字符 0
  ○Length 屬性,返回在字符串搜索中找到的匹配的長度。
  ○Value 屬性,返回在一個搜索字符串中找到的匹配的值或文本。
  3、Matches 集合
  正則表達(dá)式 Match 對象的集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來創(chuàng)建之。與獨立的 Match 對象屬性相同,Matches `集合的一個屬性是只讀的。在執(zhí)行正則表達(dá)式時,可能產(chǎn)生零個或多個 Match 對象。每個 Match 對象都提供了與正則表達(dá)式匹配的字符串的訪問入口、字符串的長度,以及標(biāo)識匹配位置的索引。
  學(xué)習(xí)了這三個對象和集合,如何應(yīng)用于字符串的判斷和替換呢?regExp對象的三個方法正好解決了這個問題,它們是Replace方法、Test方法和Execute方法。
  1、Replace 方法
  替換在正則表達(dá)式查找中找到的文本。我們還是先看個例子:下面的例子說明了 Replace 方法的用法。
復(fù)制代碼 代碼如下:

%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立變量。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 建立正則表達(dá)式。
regEx.Pattern = patrn ' 設(shè)置模式。
regEx.IgnoreCase = True ' 設(shè)置是否區(qū)分大小寫。
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 方法
  對指定的字符串執(zhí)行一個正則表達(dá)式搜索,并返回一個 Boolean 值指示是否找到匹配的模式。正則表達(dá)式搜索的實際模式是通過RegExp對象的Pattern屬性來設(shè)置的。RegExp.Global屬性對Test方法沒有影響。
  如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。
復(fù)制代碼 代碼如下:

%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立變量。
Set regEx = New RegExp ' 建立正則表達(dá)式。
regEx.Pattern = patrn ' 設(shè)置模式。
regEx.IgnoreCase = False ' 設(shè)置是否區(qū)分大小寫。
retVal = regEx.Test(strng) ' 執(zhí)行搜索測試。
If retVal Then
RegExpTest = "找到一個或多個匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%>

  3、Execute 方法
  對指定的字符串執(zhí)行正則表達(dá)式搜索。正則表達(dá)式搜索的設(shè)計模式是通過 RegExp 對象的 Pattern 來設(shè)置的。
  Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。

  三、JavaScript中正則表達(dá)式的使用
  在JavaScript 1.2版以后,JavaScript也支持正則表達(dá)式。
  1、replace
  replace在一個字符串中通過正則表達(dá)式查找替換相應(yīng)的內(nèi)容。replace并不改變原來的字符串,只是重新生成了一個新的字符串。如果需要執(zhí)行全局查找或忽略大小寫,那幺在正則表達(dá)式的最后添加g和i。
例:
復(fù)制代碼 代碼如下:

SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
/SCRIPT>

結(jié)果是:"oranges are round, and oranges are juicy."
例:
復(fù)制代碼 代碼如下:

SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
/SCRIPT>

結(jié)果是:"Twas the night before Christmas..."
例:
復(fù)制代碼 代碼如下:

SCRIPT>
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
/SCRIPT>

結(jié)果是:"Smith, John".
  2、search
search通過正則表達(dá)式查找相應(yīng)的字符串,只是判斷有無匹配的字符串。如果查找成功,search返回匹配串的位置,否則返回-1。
search(regexp)
復(fù)制代碼 代碼如下:

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方法執(zhí)行全局查找,查找結(jié)果存放在一個數(shù)組里。
例一:
復(fù)制代碼 代碼如下:

SCRIPT>
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i;
found = str.match(re);
document.write(found);
/SCRIPT>

顯示結(jié)果:Chapter 3.4.5.1,Chapter 3.4.5.1,.1
例二:
復(fù)制代碼 代碼如下:

SCRIPT>
str = "abcDdcba";
newArray = str.match(/d/gi);
document.write(newArray);
/SCRIPT>

顯示結(jié)果D, d.

  四、示例
1 、判斷數(shù)字的正確性
復(fù)制代碼 代碼如下:

%@ 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>判斷數(shù)字的正確性/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>數(shù)字/B>/TD>
TD>%=isNumeric(strTemp)%>/TD>
/TR>
TR>
TD ALIGN="right">B>非負(fù)數(shù)字/B>/TD>
TD>%=isUnsignedNumeric(strTemp)%>/TD>
/TR>
TR>
TD ALIGN="right">B>整數(shù)/B>/TD>
TD>%=isInteger(strTemp)%>/TD>
/TR>
TR>
TD ALIGN="right">B>非負(fù)整數(shù)()/B>/TD>
TD>%=isUnsignedInteger(strTemp)%>/TD>
/TR>
/TABLE>
FORM ACTION="%=Request.ServerVariables("SCRIPT_NAME")%>" METHOD="post">
請輸入一個數(shù)字:BR>
INPUT TYPE="text" NAME="inputstring" SIZE="50">/INPUT>BR>
INPUT TYPE="submit" Value="提交">/INPUT>BR>
/FORM>
/BODY>
/HTML>

2、判斷Email地址的正確性
復(fù)制代碼 代碼如下:

%
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
%>

  五、總結(jié)
  上面我們介紹了正則表達(dá)式的基本概念,以及在VBScript和JavaScript中如何使用正則表達(dá)式,同時,通過一些實例讓大家有了感性的認(rèn)識。正則表達(dá)式的應(yīng)用范圍很廣,能為大家解決很多實際中的問題。本文介紹的內(nèi)容只是一些初步的知識,還有很多語法規(guī)則需要大家繼續(xù)學(xué)習(xí),在實踐中發(fā)現(xiàn)問題,解決問題。

標(biāo)簽:玉林 吉林 茂名 昆明 怒江 秦皇島 西寧 河北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP 正則表達(dá)式的應(yīng)用使用說明》,本文關(guān)鍵詞  ASP,正則,表達(dá)式,的,應(yīng)用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP 正則表達(dá)式的應(yīng)用使用說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP 正則表達(dá)式的應(yīng)用使用說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    色欧美日韩亚洲| 国产精品视频在线看| 久久精品人人爽人人爽| 亚洲女人的天堂| 激情综合色播激情啊| 在线区一区二视频| 最新热久久免费视频| 国产一区二区三区| 91精品国产丝袜白色高跟鞋| 日韩毛片高清在线播放| 国内精品写真在线观看| 欧美精品九九99久久| 伊人性伊人情综合网| 国产精品一区二区91| 欧美xxx久久| 免费日韩伦理电影| 欧美久久一二区| 亚洲.国产.中文慕字在线| 97久久精品人人爽人人爽蜜臀| 久久伊99综合婷婷久久伊| 免费在线观看一区| 3d动漫精品啪啪一区二区竹菊| 亚洲精品日韩一| 91蝌蚪国产九色| 国产精品狼人久久影院观看方式| 国产成人在线观看| 日本一区二区电影| 成人激情av网| 亚洲欧美激情视频在线观看一区二区三区| 粉嫩av亚洲一区二区图片| 欧美精品一区二区三区在线| 久久99国产精品免费| 精品国产污污免费网站入口 | 日本不卡一区二区| 欧美日韩亚洲综合| 午夜精品久久久久影视| 欧美日韩国产一级片| 日韩av一二三| 日韩欧美一级二级三级久久久| 久久精品国产一区二区三 | 玉米视频成人免费看| 91蝌蚪porny| 亚洲一区二区三区激情| 91精品麻豆日日躁夜夜躁| 久久精品国产99| 国产三级精品三级在线专区| av不卡在线播放| 亚洲国产aⅴ成人精品无吗| 7777精品伊人久久久大香线蕉的 | 欧美国产日韩a欧美在线观看| 成人ar影院免费观看视频| 亚洲欧美激情在线| 91福利国产精品| 麻豆精品蜜桃视频网站| 欧美激情中文字幕一区二区| 91在线视频免费观看| 亚洲成人综合视频| 精品99久久久久久| 一本色道久久综合亚洲aⅴ蜜桃 | 国产日韩欧美制服另类| 99re这里都是精品| 天天免费综合色| 欧美精品一区二区三区四区| 99精品热视频| 久久99日本精品| 亚洲乱码一区二区三区在线观看| 欧美一区二区在线免费播放| 国产成人免费高清| 午夜精品久久久久久不卡8050 | 日韩亚洲欧美综合| 成人国产精品免费| 日韩成人一区二区| 中文字幕一区二区在线观看| 欧美一级片在线观看| 99久久99久久精品免费看蜜桃 | 26uuuu精品一区二区| 欧洲在线/亚洲| 国产成人高清视频| 美女精品一区二区| 亚洲大片精品永久免费| 中文字幕乱码日本亚洲一区二区| 337p亚洲精品色噜噜狠狠| 91免费观看在线| 国产98色在线|日韩| 美腿丝袜在线亚洲一区| 亚洲欧洲精品成人久久奇米网| 日韩视频免费直播| 欧美一a一片一级一片| 成人午夜av影视| 国产一区在线看| 麻豆成人91精品二区三区| 亚洲韩国一区二区三区| 亚洲伦理在线精品| 国产精品丝袜91| 久久久99精品久久| 精品久久久久久久久久久久包黑料| 欧美色大人视频| 色视频欧美一区二区三区| av毛片久久久久**hd| 国产成人免费视频网站| 国产精品91一区二区| 久久99日本精品| 精品一区二区三区在线播放| 婷婷综合另类小说色区| 亚洲一二三专区| 一区二区三区免费看视频| 亚洲精品国产精华液| 亚洲欧洲日韩在线| 亚洲人成小说网站色在线| 中文字幕色av一区二区三区| 中文字幕制服丝袜一区二区三区 | 欧美成人r级一区二区三区| 欧美一区二区三区免费大片| 91精品国产乱| 日韩亚洲欧美成人一区| 日韩视频在线一区二区| 欧美电视剧免费观看| 精品国产91乱码一区二区三区| 精品国产髙清在线看国产毛片| 26uuu亚洲综合色欧美| 久久久久久亚洲综合影院红桃| 久久综合一区二区| 国产精品天美传媒沈樵| 国产精品久久久久久福利一牛影视 | 亚洲精品网站在线观看| 亚洲另类中文字| 婷婷开心激情综合| 精品一区二区三区久久| 国产乱码精品一区二区三区忘忧草| 激情久久五月天| 成av人片一区二区| 欧美性受xxxx| 欧美成人艳星乳罩| 国产精品麻豆久久久| 亚洲激情成人在线| 美女视频黄 久久| 高清av一区二区| 在线观看中文字幕不卡| 日韩一级大片在线观看| 国产精品久久三| 亚洲国产精品一区二区久久| 免费观看在线色综合| 国产成人在线看| 欧美视频一区二区三区在线观看| 欧美一区二区国产| 国产精品视频免费看| 丝袜诱惑制服诱惑色一区在线观看 | 日韩一区中文字幕| 日韩综合小视频| 成人午夜在线视频| 在线播放视频一区| 国产精品美女久久久久高潮| 亚洲国产日韩综合久久精品| 国产高清不卡二三区| 欧美伊人精品成人久久综合97| 久久这里只有精品首页| 亚洲一级不卡视频| 成人午夜电影小说| 日韩一区二区三区高清免费看看| 国产精品久久久久久久久免费相片| 日日夜夜精品免费视频| 94色蜜桃网一区二区三区| 日韩美女在线视频| 亚洲国产精品久久人人爱| 成人午夜激情视频| 精品成人在线观看| 日韩精品一二三区| 色偷偷久久一区二区三区| 精品国产sm最大网站| 亚洲电影一级黄| 91网站黄www| 国产农村妇女毛片精品久久麻豆| 日本免费新一区视频| 色婷婷久久综合| 国产精品久久久99| 国产激情一区二区三区| 欧美不卡激情三级在线观看| 午夜欧美一区二区三区在线播放| 色综合久久久网| 国产精品素人视频| 国产在线不卡一区| 日韩一区二区三区视频在线| 午夜私人影院久久久久| 色狠狠av一区二区三区| 自拍偷拍欧美精品| 不卡电影免费在线播放一区| 久久亚洲免费视频| 国产真实乱子伦精品视频| 91精品欧美福利在线观看| 亚洲一区二区三区四区五区中文 | 国产精品亚洲成人| 精品国产成人在线影院| 激情综合网激情| 欧美精品一区二区精品网| 久久精品999| 精品国产伦一区二区三区免费| 久久av资源站| 国产女主播视频一区二区| 国产aⅴ精品一区二区三区色成熟| 国产午夜精品一区二区三区嫩草|