html
  • regex
  • 2016-04-22 36 views 0 likes 
    0

    我有這個網站:沒有那些所有HTML錨標記中包含特定字符串

    <a id='topnavbtn_tutorials' href='javascript:void(0);' onclick='w3_open_nav("tutorials")' title='Tutorials'>TUTORIALS <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a id='topnavbtn_references' href='javascript:void(0);' onclick='w3_open_nav("references")' title='References'>REFERENCES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a id='topnavbtn_examples' href='javascript:void(0);' onclick='w3_open_nav("examples")' title='Examples'>EXAMPLES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a href='/forum/default.asp'>FORUM</a></div></div> 
    <div id='nav_tutorials' class='w3-dropnav w3-light-grey w3-card-2 w3-center'></div> 
    <div id='nav_references' class='w3-dropnav w3-light-grey w3-card-2 w3-center'></div> 
    <div id='nav_examples' class='w3-dropnav w3-light-grey w3-card-2 w3-center'></div> 
    <div id='nav_translate' class='w3-dropnav w3-light-grey w3-card-2 w3-center'></div> 
    <div id='nav_search' class='w3-dropnav w3-light-grey w3-card-2 w3-center'></div></div> 
    <div class='w3-row w3-light-grey' id='belowtopnav'> 
    <div class='w3-col w3-slim' id='leftmenu'> 
    <div id='leftmenuinner'> 
    <div class='w3-light-grey' id='leftmenuinnerinner'> 
    <a href='javascript:void(0)' onclick='close_menu()' class='w3-closebtn w3-hide-large w3-large' style='padding:3px 12px;'>&times;</a> 
    <h2 class="left"><span class="left_h2">Colors</span> Tutorial</h2> 
    <a target="_top" href="default.asp">Colors HOME</a> 
    <a target="_top" href="colors_names.asp">Color Names</a> 
    

    而且我寫這個表達式:

    <a .*?href=("|').*?\.asp("|').*?>.*?<\/a> 
    

    我只需要搭配:

    1.

    <a href='/forum/default.asp'>FORUM</a> 
    

    2.

    <a target="_top" href="default.asp">Colors HOME</a> 
    

    3.

    <a target="_top" href="colors_names.asp">Color Names</a> 
    

    下面是從當前正則表達式匹配項(初結果是壞的)

    1.

    <a id='topnavbtn_tutorials' href='javascript:void(0);' onclick='w3_open_nav("tutorials")' title='Tutorials'>TUTORIALS <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a id='topnavbtn_references' href='javascript:void(0);' onclick='w3_open_nav("references")' title='References'>REFERENCES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a id='topnavbtn_examples' href='javascript:void(0);' onclick='w3_open_nav("examples")' title='Examples'>EXAMPLES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a><a href='/forum/default.asp'>FORUM</a> 
    

    2.

    <a target="_top" href="default.asp">Colors HOME</a> 
    

    3.

    <a target="_top" href="colors_names.asp">Color Names</a> 
    

    請修改我現有的正則表達式。

    +0

    是否要使用這個選擇從頁面元素? – Justinas

    +0

    @Justinas no。這應該用作服務器端代碼 – ohadinho

    回答

    1

    此正則表達式似乎很好地工作:

    <a.*?href=["']{1}.*?\.asp["']{1}.*?>.*?<\/a> 
    

    Working example

    +0

    更奇怪。在這裏它似乎沒有工作: http://regexr.com/3d98u – ohadinho

    相關問題