gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

正則表達式的應用

一、正則表達式概述
  二、正則表達式在VBScript中的應用
  三、正則表達式在VavaScript中的應用
  四、示例
  五、總結(jié)

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

  二、正則表達式在VBScript中的應用
  VBScript使用RegExp對象、Matches集合以及Match對象提供正則表達式支持功能。我們還是先看一個例子。
<%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches   ’建立變量。
Set regEx = New RegExp   ’建立正則表達式。
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這兩個詞,忽略大小寫。運行的結(jié)果如下:
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’.
,O旅嫖頤薔徒檣苷餿個對象和集合。
,! 1、RegExp對象是最重要的一個對象,它有幾個屬性,其中:
  ○Global 屬性,設(shè)置或返回一個 Boolean 值,該值指明在整個搜索字符串時模式是全部匹配還是只匹配第一個。如果搜索應用于整個字符串,Global 屬性的值為 True,否則其值為 False。默認的設(shè)置為 False。
  ○IgnoreCase 屬性,設(shè)置或返回一個Boolean值,指明模式搜索是否區(qū)分大小寫。如果搜索是區(qū)分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。缺省值為 False。
  ○Pattern 屬性,設(shè)置或返回被搜索的正則表達式模式。必選項。總是一個 RegExp 對象變量。
,! 2、Match 對象
  匹配搜索的結(jié)果是存放在Match對象中,提供了對正則表達式匹配的只讀屬性的訪問。 Match 對象只能通過 RegExp 對象的 Execute 方法來創(chuàng)建,該方法實際上返回了 Match 對象的集合。所有的 Match 對象屬性都是只讀的。在執(zhí)行正則表達式時,可能產(chǎn)生零個或多個 Match 對象。每個 Match 對象提供了被正則表達式搜索找到的字符串的訪問、字符串的長度,以及找到匹配的索引位置等。
  ○FirstIndex 屬性,返回在搜索字符串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對于搜索字符串的起始位置而言的。換言之,字符串中的第一個字符被標識為字符 0
  ○Length 屬性,返回在字符串搜索中找到的匹配的長度。
  ○value 屬性,返回在一個搜索字符串中找到的匹配的值或文本。
  3、Matches 集合
  正則表達式 Match 對象的集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來創(chuàng)建之。與獨立的 Match 對象屬性相同,Matches `集合的一個屬性是只讀的。在執(zhí)行正則表達式時,可能產(chǎn)生零個或多個 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,,,,,,,,,,,,, ‘ 設(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í)行一個正則表達式搜索,并返回一個 Boolean 值指示是否找到匹配的模式。正則表達式搜索的實際模式是通過RegExp對象的Pattern屬性來設(shè)置的。RegExp.Global屬性對Test方法沒有影響。
  如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。
<%
Function RegExpTest(patrn, strng)
Dim regEx, retVal,,,,,,, ‘ 建立變量。
Set regEx = New RegExp,,, ‘ 建立正則表達式。
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í)行正則表達式搜索。正則表達式搜索的設(shè)計模式是通過 RegExp 對象的 Pattern 來設(shè)置的。
  Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。

  三、javascript中正則表達式的使用
  在javascript 1.2版以后,javascript也支持正則表達式。
  1、replace 
  replace在一個字符串中通過正則表達式查找替換相應的內(nèi)容。replace并不改變原來的字符串,只是重新生成了一個新的字符串。如果需要執(zhí)行全局查找或忽略大小寫,那么在正則表達式的最后添加g和i。
例:
<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.” 
例:
<SCRIPT>
str = “Twas the night before Xmas…”;
newstr=str.replace(/xmas/i, “Christmas”);
document.write(newstr)
</SCRIPT>
結(jié)果是:”Twas the night before Christmas…” 
例:
<SCRIPT>
re = /(w+)s(w+)/;str = “John Smith”;
newstr = str.replace(re, “$2, $1”);
document.write(newstr)
</SCRIPT>
結(jié)果是:”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方法執(zhí)行全局查找,查找結(jié)果存放在一個數(shù)組里。
例一: 
<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 
例二:
<SCRIPT>
str = “abcDdcba”; 
newArray = str.match(/d/gi);
document.write(newArray); 
</SCRIPT>
顯示結(jié)果D, d.

  四、示例
1 、判斷數(shù)字的正確性
<%@ 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>非負數(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>非負整數(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地址的正確性
<%
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é)
  上面我們介紹了正則表達式的基本概念,以及在VBScript和javascript中如何使用正則表達式,同時,通過一些實例讓大家有了感性的認識。正則表達式的應用范圍很廣,能為大家解決很多實際中的問題。本文介紹的內(nèi)容只是一些初步的知識,還有很多語法規(guī)則需要大家繼續(xù)學習,在實踐中發(fā)現(xiàn)問題,解決問題。 

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
每日在线观看av| 成人毛片一区二区| 欧美少妇一级片| 男人日女人逼逼| 日本精品一区二区三区四区| 日本福利视频在线| 成品人视频ww入口| 久草福利视频在线| 久久这里只有精品8| 91av在线免费播放| 人人爽人人av| 黄色一级视频播放| 久久久成人精品一区二区三区| 中文精品无码中文字幕无码专区| 黄色片久久久久| 日韩免费在线观看av| xxxx一级片| 欧美性大战久久久久xxx| 青青在线视频免费观看| 日本特黄a级片| 国产免费黄色小视频| 成人污网站在线观看| 中文字幕超清在线免费观看| 久久久久久久久久久久久国产精品 | 亚洲 国产 图片| 在线观看的毛片| 国产成人精品视频ⅴa片软件竹菊| 亚洲一级片免费观看| 欧美一区二区三区爽大粗免费| r级无码视频在线观看| 波多野结衣天堂| 天天色综合社区| 亚洲第一区第二区第三区| 熟妇人妻无乱码中文字幕真矢织江| 日韩在线观看a| 很污的网站在线观看| 99热一区二区三区| 日韩在线视频在线| 免费拍拍拍网站| 国产 日韩 欧美在线| 能在线观看的av| 一区二区三区 日韩| 亚洲欧美自偷自拍另类| 亚洲黄色片免费| 春日野结衣av| 在线观看视频在线观看| 日本久久高清视频| 亚洲色欲综合一区二区三区| 国产xxxxx视频| 国产小视频免费| 亚洲第一区第二区第三区| 99亚洲国产精品| 91看片在线免费观看| 国产尤物av一区二区三区| 乱妇乱女熟妇熟女网站| 老子影院午夜伦不卡大全| xx欧美撒尿嘘撒尿xx| 日批视频在线免费看| 亚洲国产精品女人| 亚洲色图久久久| 国产va亚洲va在线va| 中文字幕一区二区在线观看视频 | 日本一二三区视频在线| 中文字幕黄色大片| 在线观看国产一级片| 2018日日夜夜| 日韩视频 中文字幕| 7777在线视频| 精品无码国产一区二区三区av | 性做爰过程免费播放| 免费极品av一视觉盛宴| 潘金莲一级淫片aaaaaa播放1| 国产精品一区二区羞羞答答| 欧美大尺度做爰床戏| 六月丁香婷婷在线| 国产伦精品一区二区三区四区视频_ | 人妻少妇精品无码专区二区| 欧美h视频在线观看| 欧美亚洲精品一区二区| 91传媒久久久| 亚洲男人天堂2021| 国产精品-区区久久久狼| 怡红院亚洲色图| 黄色片免费在线观看视频| 国产福利视频在线播放| 日韩精品无码一区二区三区免费| 91猫先生在线| 台湾无码一区二区| av中文字幕网址| 久草精品在线播放| 欧美少妇在线观看| 羞羞的视频在线| 成人在线免费观看视频网站| a在线视频观看| 亚洲自拍偷拍一区二区三区| www.色就是色| 欧美成人xxxxx| 国产日产欧美视频| 五月天色婷婷综合| 亚洲欧美日韩精品一区| 三级在线免费看| 波多野结衣乳巨码无在线| 亚洲 欧洲 日韩| 国产高清999| www.成人黄色| 五月六月丁香婷婷| 911av视频| 久久久久久久久久久久久久久国产| av观看免费在线| 欧美伦理片在线观看| 无码专区aaaaaa免费视频| 丝袜人妻一区二区三区| 日韩a在线播放| 成年人在线观看视频免费| 最近中文字幕一区二区| 毛毛毛毛毛毛毛片123| 99精品视频网站| 青青青在线视频播放| 免费看黄在线看| 99免费视频观看| 91麻豆天美传媒在线| 免费裸体美女网站| 欧美激情第一区| 亚洲 自拍 另类小说综合图区| 日韩 欧美 视频| 蜜桃免费在线视频| 毛片在线视频播放| 中文字幕第三区| 男人添女人下面免费视频| 小早川怜子一区二区三区| 又粗又黑又大的吊av| www.欧美激情.com| av观看免费在线| 日本一二三区视频在线| 国产裸体免费无遮挡| 欧美久久久久久久久久久久久| 久久综合久久色| 精品久久久久久无码国产| 警花观音坐莲激情销魂小说| 国产又黄又大又粗视频| a级片一区二区| 手机在线国产视频| 天天色综合天天色| 精品99在线视频| 日韩专区第三页| 黄色一级免费大片| 99草草国产熟女视频在线| 久久久久久久久久网| 日韩精品一区在线视频| 免费在线黄网站| 成熟丰满熟妇高潮xxxxx视频| 97免费视频观看| 青青青免费在线| 亚洲人辣妹窥探嘘嘘| 一级黄色高清视频| 特级西西444| 男人的天堂日韩| 欧美日韩视频免费在线观看| 影音先锋成人资源网站| 丁香花在线影院观看在线播放 | 97公开免费视频| 欧美性猛交xxxx乱大交91| 亚洲男人天堂色| 日本少妇高潮喷水视频| www插插插无码免费视频网站| 中文字幕在线视频一区二区| 成人性生活视频免费看| 中文久久久久久| 国产精品沙发午睡系列| 偷拍盗摄高潮叫床对白清晰| 国产天堂在线播放| 国产麻花豆剧传媒精品mv在线| 丰满女人性猛交| 一本色道久久亚洲综合精品蜜桃| 欧美一级免费播放| 91动漫在线看| 黑人巨茎大战欧美白妇| 激情成人开心网| 狠狠精品干练久久久无码中文字幕| 亚洲视频在线a| 亚洲福利精品视频| а 天堂 在线| 三级黄色片播放| 国产高清www| 国产成人无码一二三区视频| av免费观看网| 免费在线观看污网站| 精品国产乱码久久久久久1区二区| 午夜肉伦伦影院| 日本道在线视频| 日韩精品一区二区在线视频| 黄网站色视频免费观看 | 丰满少妇久久久| 大荫蒂性生交片| 黄色高清无遮挡| 色呦呦网站入口| 日韩av综合在线观看| wwwwwxxxx日本| 欧美日韩第二页| 欧美精品色视频|