[英]How can I extract URLs from html content with ruby regexp?
讓我們直接舉一個例子,因為它不容易解釋:
<li id="l_f6a1ok3n4d4p" class="online"> <div class="link"> <a href="javascript:show('f6a1ok3n4d4p','random%20strings%204',%20'site2.com');%20" onclick="visited('f6a1ok3n4d4p');" style="float:left;">random strings - 4</a> <a style="float:left; display:block; padding-top:3px;" href="http://www.webtrackerplus.com/?page=flowplayerregister&a_aid=&a_bid=&chan=flow"><img border="0" src="/resources/img/fdf.gif"></a> <!-- a class="none" href="#">random strings - 4 site2.com - # - </a --> </div> <div class="params"> <span>Submited: </span>7 June 2015 | <span>Host: </span>site2.com </div> <div class="report"> <a title="" href="javascript:report(3191274,%203,%202164691,%201)" class="alert"></a> <a title="" href="javascript:report(3191274,%203,%202164691,%200)" class="work"></a> <b>100% said work</b> </div> <div class="clear"></div> </li> <li id="l_zsgn82c4b96d" class="online"> <div class="link"> <a href="javascript:show('zsgn82c4b96d','random%20strings%204',%20'site1.com');%20" onclick="visited('zsgn82c4b96d');" style
在以上內容中,我想從javascript:show('f6a1ok3n4d4p','random%20strings%204',%20'site2.com')中提取
字符串“ f6a1ok3n4d4p”和“ site2.com”將其設置為
與javascript:show('zsgn82c4b96d','random%20strings%204',%20'site1.com')相同
我需要用ruby regex來完成
這應該使您對如何執行此操作有一些了解。 https://regex101.com/r/wD4oT8/2
javascript:show\\(\\'(.*?)'.*?\\'([^\\']*)\\'\\)
將第一個參數捕獲為$ 1,在'
最后一部分捕獲為$ 2,因此您將得到用$2/$1
代替。
這就是它的正則表達式部分,當然,您可以根據自己的喜好調整正則表達式,例如,包括"
( javascript:show\\((?:\\'|\\")(.*?)(?:\\'|\\").*?\\'([^\\'\\"]*)(?:\\'|\\")\\)
或僅允許使用3個參數。
/yourregex/.match(yourstring)
將提取您需要的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.