最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net中匹配URL網(wǎng)址的正則表達(dá)式

 更新時間:2016年10月31日 23:42:56   投稿:mdxy-dxy  
最近在做一些關(guān)于URL匹配的項(xiàng)目,本來對正則表達(dá)式了解的不多,上網(wǎng)搜索了好多前輩寫的正則表達(dá)式,發(fā)現(xiàn)很少能被我使用的,現(xiàn)將我自己寫的正則表達(dá)式貼出來,供大家參考

%<本人做的是asp.net的項(xiàng)目,內(nèi)容是阻止一個文本框中的某些URL>%

首先,正則表達(dá)式:

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\&%_\./-~-]*)?";

關(guān)于該正則表達(dá)式的說明:

①:該正則表達(dá)式匹配的字符串必須以http://、https://、ftp://開頭;
②:該正則表達(dá)式能匹配URL或者IP地址;(如:http://www.baidu.com 或者 http://192.168.1.1)
③:該正則表達(dá)式能匹配到URL的末尾,即能匹配到子URL;(如能匹配:http://www.baidu.com/s?wd=a&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&inputT=1236)
④:該正則表達(dá)式能夠匹配端口號;

阻止某些指定的URL:

如果我們在輸入的文本框中要阻止http://www.baidu.com這個URL,傳統(tǒng)的方法是用上面的正則表達(dá)式去匹配文本框中的URL,讀出所有的URL之后在跟要阻止的URL去比較,但是這種方法有一個弊端,就是我們讀出的URL是一直到子URL,而我們在配置文件中可能就寫一個母URL,這樣要對check出來的URL進(jìn)行切割,加上網(wǎng)站默認(rèn)的端口號是:80,我們要去比較端口號等等,我想出了一種新的方法:

從配置文件中讀出要阻止的URL,組成一個正則表達(dá)式,去匹配文本框中,如果能夠匹配到,則阻止掉。

配置文件中應(yīng)該寫:<add key="DomainCheckBlackUrl" value="baidu.com" />

在代碼中實(shí)現(xiàn):

現(xiàn)在一個正則表達(dá)式由3部分組成:

1:正則表達(dá)式的開頭,可能由任意的字符組成;
2:正則表達(dá)式的中間部分:從配置文件中讀出來的部分;
3:正則表達(dá)式的結(jié)尾部分:可能有一些子目錄或者端口號等;

首先,從配置文件中讀出URL:string[] serverlist = ConfigurationManager.AppSettings["DomainCheckBlackUrl"].Split(',');(配置文件中以“,”分割)
其次,string start = @"((http|ftp|https)://)([a-zA-Z0-9_-]+\.)*";(正則表達(dá)式的開頭)
然后,正則表達(dá)式的結(jié)尾: end = @"(:[0-9]{1,4})?((/[a-zA-Z0-9\&%_\./-~-]*)|(?=[^a-zA-Z0-9\.]))";
組合之后的正則表達(dá)式: string check = start + @"((?<=[^a-zA-Z0-9])(" + CutStr + "))" + end;

以上是本人的一些小見解,希望對大家能有所幫助。

相關(guān)文章

  • 常用的正則表達(dá)式實(shí)例整理

    常用的正則表達(dá)式實(shí)例整理

    這篇文章主要介紹了常用的正則表達(dá)式實(shí)例整理,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • 正則表達(dá)式之捕獲組/非捕獲組介紹

    正則表達(dá)式之捕獲組/非捕獲組介紹

    使用小括號指定一個子表達(dá)式后,匹配這個子表達(dá)式的文本(也就是此分組捕獲的內(nèi)容)可以在表達(dá)式或其它程序中作進(jìn)一步的處理。
    2011-08-08
  • IP 正則表達(dá)式驗(yàn)證

    IP 正則表達(dá)式驗(yàn)證

    今天學(xué)習(xí)了正則表達(dá)式,覺得非常實(shí)用,而且現(xiàn)在各種編程語言和應(yīng)用軟件如Word、MySQL等等也都內(nèi)置了正則引擎。
    2008-12-12
  • 詳解Java中的scala正則表達(dá)式

    詳解Java中的scala正則表達(dá)式

    Scala 通過 scala.util.matching 包中的 Regex 類來支持正則表達(dá)式。這篇文章主要介紹了scala正則表達(dá)式的相關(guān)知識,需要的朋友可以參考下
    2019-06-06
  • 一文詳解密碼的正則表達(dá)式寫法

    一文詳解密碼的正則表達(dá)式寫法

    這篇文章主要為大家介紹了一文詳解密碼的正則表達(dá)式寫法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • PHP正則表達(dá)式的效率 回溯與固化分組

    PHP正則表達(dá)式的效率 回溯與固化分組

    上文中,我們聊到了一點(diǎn)關(guān)于PHP中(NFA PCRE)正則表達(dá)式匹配優(yōu)先量詞,忽略優(yōu)先量詞的匹配原理了。那么上文留下的問題,您的答案是什么呢?
    2011-04-04
  • 正則表達(dá)式概述 什么是正則表達(dá)式 .

    正則表達(dá)式概述 什么是正則表達(dá)式 .

    正則表達(dá)式就是用某種模式去匹配一類字符串的公式,主要用來描述字符串匹配的工具
    2013-07-07
  • 亂象,印跡 正則學(xué)習(xí)問答

    亂象,印跡 正則學(xué)習(xí)問答

    在問答過程中,我收集到學(xué)習(xí)正則表達(dá)式過程中的某些普遍問題,在這里專門花一點(diǎn)篇幅來回答
    2013-09-09
  • js正則表達(dá)式驗(yàn)證URL函數(shù)代碼(方便多個正則對比)

    js正則表達(dá)式驗(yàn)證URL函數(shù)代碼(方便多個正則對比)

    下面是一段相對全面的用例測試,可以考慮使用,當(dāng)然,如果你的要求很簡單,用網(wǎng)上傳的各種簡單版,cover到自己的用例就好。
    2016-10-10
  • 談?wù)勎覍φ齽t表達(dá)式的認(rèn)識

    談?wù)勎覍φ齽t表達(dá)式的認(rèn)識

    正則表達(dá)式(Regular Expression)是一個概念,一種語法、句法的約定。每一種具體的語句(C#,Java,JavaScript)有其對于正則表達(dá)式的具體實(shí)現(xiàn),并且會有差別。正則表達(dá)式30分鐘入門教程講述的是.net(C#)的正則表達(dá)式
    2014-02-02

最新評論

衡南县| 襄汾县| 开封县| 苍梧县| 长岭县| 廉江市| 蓝田县| 贺州市| 凉山| 栾川县| 通山县| 当阳市| 舟曲县| 曲松县| 合川市| 黔南| 独山县| 龙州县| 渑池县| 兴国县| 额济纳旗| 肇源县| 明星| 江孜县| 芜湖县| 于田县| 蕉岭县| 丰城市| 开鲁县| 府谷县| 远安县| 苍梧县| 若羌县| 利川市| 鹤庆县| 宁海县| 金门县| 繁昌县| 邯郸市| 荆门市| 甘泉县|