欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP中的正則表達式

admin
2010年7月22日 22:54 本文熱度 5806
[p]在asp中,使用正則表達式前需聲明對象“set re=new regexp”。[/p]
[p]regexp有三個重要屬性:[br]1. global:設置或返回一個布爾值,指明搜索匹配字符串時是針對全部文本還是只匹配第一處,默認為false[br]2. ignorecase:設置或返回一個布爾值,指明搜索字符串時是否區分大小寫,默認為false[br]3. pattern:此項以正則表達式(即形同"[^]]*"之類的式子)表示,指明匹配模式,此為必設項[/p]
[p]regexp對象的方法:[br]1. regexp.replace(string, text):在文本string中,將以pattern模式找到的匹配字符串替換為變量text,并返回替換后文本[br]2. regexp.test(string):在文本string中搜索匹配字串,如有匹配則返回true,否則返回false[br]3. regexp.execute(string):在文本string中搜索匹配字串,并將各匹配字串分別放在各match對象中,后返回所有match對象之集合matches[/p]
[p]match對象的屬性:[br]1. firstindex:返回該對象對應匹配字串的首字母在原始文本中的索引,以“0”為起始位置[br]2. length:返回匹配字串長度[br]3. value:返回匹配字串[/p]
[p]下面回顧一下上次的函數:[br]set re=new regexp '建立正則表達式對象regular expression[br]re.ignorecase=true '忽略大小寫[br]re.global=true[br]'---------搜索匹配字串針對全部文本而不是僅一處[/p]
[p]re.pattern="((http|https|ftp):\/\/([\w-]+\.)+[\w]+(\/[\w-]+)*[\/]?([\w-]+\.[\w]+)?(\?[\w]+=[\w]+(&[\w]+=[\w]+)*)?)"[br]'上面一句,最外層一個圓括號,其中的所有字串可用"$1"表示,"$2"表示第一個嵌套括號中的字串"http|https|ftp"(這里只用到"$1")。[br]'以這個網址為例說明匹配情況 "http://jinminghou.cn/test/index.asp?p=1&q=2":[br]'"http|https|ftp"表示三者中的一個,匹配網址的前綴"http";[br]'":\/\/"用到了轉義字符"\",等價于"://";[br]'"[\w]"匹配單個字母、數字和下劃線,"[\w-]"匹配單個"\w"或"-","[\w-]+"匹配至少一個"\w"或"-","[\w-]+\."匹配一個以"."結束的字串如"ming-hou.",而"([\w-]+\.)+"則匹配多個以"."結束的字串如這里的"jinminghou.";[br]'"[\w]+"匹配這里的"com";[br]'"(\/[\w-]+)*"匹配0個或以上類似"/v1"的字串,這是可有可無的;[br]'"[\/]?"表示網址后的"/"可有可無,但不超過一個;[br]'"([\w-]+\.[\w]+)?"匹配0或1個這里的"index.htm";[br]'再看最后的"?p=1&q=2",這種以"?"開始的字串最多只有一個,而其中以"&"開始的則可有多個。"\?[\w]+=[\w]+"匹配"?p=1","&[\w]+=[\w]+"匹配"&q=2",后加"*"表示可重復0~n次,而"(\?[\w]+=……+)*)?"后的"?"表示整個以"?"開始的參數可重復0~1次。[/p]
[p]str=re.replace(str,"$1")[br]最后,以pattern指定的模式替換匹配文本,上面的"$1"表示最外層圓括號內的整個網址。[/p]
[p]如下是一段自動識別鏈接的代碼:[/p]
[p]function autolink(str)[br]str=" "&str[br]set re=new regexp '建立正則表達式對象regular expression[br]re.ignorecase=true '忽略大小寫[br]re.global=true[br]'---------搜索匹配字串針對全部文本而不是僅一處[/p]
[p]'查找帶協議前綴(如http)的鏈接[br]re.pattern="((http|https|ftp):\/\/([\w-]+\.)+[\w]+(\/[\w-]+)*[\/]?([\w-]+\.[\w]+)?(\?[\w]+=[\w]+(&[\w]+=[\w]+)*)?)"[br]str=re.replace(str,"$1")[/p]
[p]'查找不帶協議前綴的鏈接[br]re.pattern="([^\/])(www\.([\w-]+\.)+[\w]+(\/[\w-]+)*[\/]?([\w-]+\.[\w]+)?(\?[\w]+=[\w]+(&[\w]+=[\w]+)*)?)"[br]str=re.replace(str,"$1$2")[/p]
[p]'查找郵件鏈接[br]re.pattern="(mailto:)?([\w]+@([\w-]+\.)+[\w]+)"[br]str=re.replace(str,"$1$2")[/p]
[p]set re=nothing[br]str=trim(str)[br]autolink=str[br]end function[/p]
[p]不過這個函數尚有一個缺欠,便是如果在無協議前綴的鏈接前加上“\”成為“\jinminghou.cn”便不能自動鏈接了,希望以后能改正這一點。[/p]
[p]下面介紹一下正則表達式的特殊字符:[br]“^”后接字符為字串開頭:如"^b"匹配"bing"而不匹配"abc"[br]“$”前接字符為字串末尾:如"g$"匹配"bing"而不匹配"fgh"[br]“*”前接字符重復0~n次:如"go*gle"匹配"ggle"和"goooogle"[br]“+”前接字符重復1~n次:如"go+gle"匹配"gogle"和"gooogle"而不匹配"ggle"[br]“?”前接字符重復0或1次:如"go?gle"匹配"ggle"和"gogle"而不匹配"gooogle"[br]“.”表示除換行符外的所有字符:如".b"匹配"ab","cb",".+"匹配不換行的所有字符串[/p]
[p]“|”表示“或”:如"ab|cd"同時匹配"ab"和"cd"而不匹配"abcd" [br]“( )”表示一或多個字符,從前往后,圓括號中的匹配字符串依次以$1,……$9,……返回:如"(bi(ng)z)hu(o)"中,$1代表"bi(ng)z",$2代表"ng",$3代表"o"[br]“[ ]”中可有多個字符,但只表示其中一個:如"[xyx]"匹配"x","y","z"但不匹配"xyz",等同于"x|y|z";另,"[abcde]"這種連續字符可簡寫為"[a-e]","[abcde12345]"可簡寫為"[a-e1-5]"[br]“[^ ]”表示除括號內字符以外的單個字符:如"[^xyz]"匹配"w","a"而不匹配"x","y";"[^abcde]"亦可簡寫為"[^a-e]"[br]“{n}”n為一數字,表示前接字符重復次數:如"a{3}"表示"aaa"[br]“{n,}”表示前接字符至少重復n次:如"a{3}"匹配"aaa"和"aaaaa"而不匹配"aa"[br]“{n,m}”表示前接字符至少重復n次,至多重復m次[/p]
[p]“\”為轉義字符,后接上述特殊字符時表示該字符:如"\?"表示"?","\["表示"["[br]“\w”匹配數字+字母+下劃線集合;“\w”匹配除“\w”外的其他字符[br]“\d”匹配單個數字,“\d”匹配非數字[/p]

該文章在 2010/7/22 22:54:09 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved