asp.net中匹配URL網址的正規表示式
%<本人做的是asp.net的專案,內容是阻止一個文字框中的某些URL>%
首先,正規表示式:
String check = @"((http|ftp|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?";
關於該正規表示式的說明:
①:該正規表示式匹配的字串必須以http://、https://、ftp://開頭;
②:該正規表示式能匹配URL或者IP地址;(如: 或者 http://192.168.1.1)
③:該正規表示式能匹配到URL的末尾,即能匹配到子URL;(如能匹配:/s?wd=a&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&inputT=1236)
④:該正規表示式能夠匹配埠號;
阻止某些指定的URL:
如果我們在輸入的文字框中要阻止這個URL,傳統的方法是用上面的正規表示式去匹配文字框中的URL,讀出所有的URL之後在跟要阻止的URL去比較,但是這種方法有一個弊端,就是我們讀出的URL是一直到子URL,而我們在配置檔案中可能就寫一個母URL,這樣要對check出來的URL進行切割,加上網站預設的埠號是:80,我們要去比較埠號等等,我想出了一種新的方法:
從配置檔案中讀出要阻止的URL,組成一個正規表示式,去匹配文字框中,如果能夠匹配到,則阻止掉。
配置檔案中應該寫:<add key="DomainCheckBlackUrl" value="baidu.com" />
在程式碼中實現:
現在一個正規表示式由3部分組成:
1:正規表示式的開頭,可能由任意的字元組成;
2:正規表示式的中間部分:從配置檔案中讀出來的部分;
3:正規表示式的結尾部分:可能有一些子目錄或者埠號等;
首先,從配置檔案中讀出URL:string[] serverlist = ConfigurationManager.AppSettings["DomainCheckBlackUrl"].Split(',');(配置檔案中以“,”分割)
其次,string start = @"((http|ftp|https)://)([a-zA-Z0-9_-]+\.)*";(正規表示式的開頭)
然後,正規表示式的結尾: end = @"(:[0-9]{1,4})?((/[a-zA-Z0-9\&%_\./-~-]*)|(?=[^a-zA-Z0-9\.]))";
組合之後的正規表示式: string check = start + @"((?<=[^a-zA-Z0-9])(" + CutStr + "))" + end;
以上是本人的一些小見解,希望對大家能有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015107/viewspace-2874051/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js匹配網址url的正規表示式集合JS
- 匹配url連結的正規表示式程式碼例項
- 正規表示式匹配html中的圖片HTML
- PHP中的正規表示式及模式匹配PHP模式
- 正規表示式匹配原理
- [譯]正規表示式匹配
- 字串——正規表示式匹配字串
- iOS正規表示式匹配iOS
- PostgreSQL中的模式匹配和正規表示式 - DasSQL模式
- 正規表示式支配匹配模式模式
- JavaScript匹配中文正規表示式JavaScript
- 模式匹配與正規表示式模式
- Swift 正規表示式匹配NSRegularExpressionSwiftExpress
- python 正規表示式匹配Python
- Python正規表示式匹配字串中的數字Python字串
- 匹配HTML註釋的正規表示式HTML
- 匹配A股程式碼的正規表示式
- 匹配HTML標籤的正規表示式HTML
- 匹配javascript註釋的正規表示式JavaScript
- Oracle正規表示式匹配中文的方法Oracle
- 匹配html標籤正規表示式HTML
- 匹配空白字元正規表示式字元
- 匹配 XML 檔案正規表示式XML
- 匹配 HTML 標籤正規表示式HTML
- leetcode - 正規表示式匹配LeetCode
- 匹配空行正規表示式程式碼
- 常用正規表示式匹配模式(java)模式Java
- JavaScript匹配註釋正規表示式JavaScript
- [JavaScript] 正規表示式單次匹配與多次匹配JavaScript
- 驗證網址合法性的正規表示式程式碼
- 匹配換行的正規表示式程式碼
- 匹配雙位元組字元的正規表示式字元
- 匹配郵箱的正規表示式程式碼
- 匹配雙位元組字串的正規表示式字串
- Sublime Text提取正規表示式匹配的文字
- 匹配http,https,ftp,ftps以及IP地址的URL地址的正規表示式HTTPFTP
- 匹配iphone手機序列正規表示式iPhone
- 正規表示式匹配標點符號符號