【发布时间】:2017-10-27 13:06:26
【问题描述】:
我是正则表达式的新手,我不会过多地使用这种语言。
我正在尝试在此代码中获取competition_id:
<script type="text/javascript" charset="utf-8">
(function() {
var block = new MatchesBlock('page_team_1_block_team_matches_summary_7', 'block_team_matches_summary', {"page":0,"bookmaker_urls":[],"block_service_id":"team_summary_block_teammatchessummary","team_id":1242,"competition_id":0,"filter":"all","new_design":false});
block.registerForCallbacks();
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_1', 'changeCompetition', {"competition_id":0});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_2', 'changeCompetition', {"competition_id":13});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_3', 'changeCompetition', {"competition_id":135});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_4', 'changeCompetition', {"competition_id":171});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_5', 'changeCompetition', {"competition_id":1148});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_6', 'changeCompetition', {"competition_id":732});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_1_7', 'changeCompetition', {"competition_id":10});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_2_1', 'filterMatches', {"filter":"all"});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_2_2', 'filterMatches', {"filter":"home"});
block.addCallbackObserver('page_team_1_block_team_matches_summary_7_2_3', 'filterMatches', {"filter":"away"});
block.setAttribute('colspan_left', 4);
block.setAttribute('colspan_right', 3);
block.setAttribute('has_previous_page', true);
block.setAttribute('has_next_page', true);
TimestampFormatter.format('page_team_1_block_team_matches_summary_7');
})();
</script>
链接是这样的: 查看源代码:http://it.soccerway.com/teams/italy/juventus-fc/1242/
到目前为止我所做的是:
var c = System.Text.RegularExpressions.Regex.Match(data, "'block_team_matches_summary', (\\{.*?\\})\\);\\n",
System.Text.RegularExpressions.RegexOptions.Singleline).Groups[1].Value;
这个正则表达式应该返回所有可用的块,但它只返回第一个元素:
{"page":0,"bookmaker_urls":[],"block_service_id":"team_summary_block_teammatchessummary","team_id":1244,"competition_id":0,"filter":"all","new_design":false}
我需要得到所有的积木,我能做什么?
【问题讨论】:
-
“所有块”是什么意思?在
'block_team_matches_summary',之后只有一个{...}子字符串,并且您成功提取它。 -
@WiktorStribiżew 如果你看到函数的内容它包含一个块列表,例如:
page_team_1_block_team_matches_summary_7、page_team_1_block_team_matches_summary_7_1_1、page_team_1_block_team_matches_summary_7_1_2,每个块包含不同的id
标签: javascript c# html regex