我尝试在http://uslpro.uslsoccer.com/teams/2014/22310.html#ROSTER的源代码中捕获一个网址。
部分源代码如下所示。
getPlayers: function(){
var url;
$j('.visibleDiv').hide().removeClass('visibleDiv');
$j('span#indicator-text').text('Roster');
$j('div#indicator').fadeIn();
url = '/teams/65672455/22310-65672522-ros.js';
网址是我想要捕获的。我使用了正则表达式
pattern = re.escape("$j('div#indicator').fadeIn();") + '\s*url\s*=\s*(.*);'
但它不起作用。我在JavaScript中尝试了这个正则表达式。它可以位于开头索引处。
有人可以帮助我使用这个正则表达式吗?
答案 0 :(得分:0)
我认为你错过了re.DOTALL
flag:
In [1]: import re
In [2]: t = """getPlayers: function(){
var url;
$j('.visibleDiv').hide().removeClass('visibleDiv');
$j('span#indicator-text').text('Roster');
$j('div#indicator').fadeIn();
url = '/teams/65672455/22310-65672522-ros.js'; """
In [3]: pattern = re.escape("$j('div#indicator').fadeIn();") + '\s*url\s*=\s*(.*);'
In [4]: re.search(pattern, t, re.DOTALL).groups()
Out[4]: ("'/teams/65672455/22310-65672522-ros.js'",)
In [5]: