Regular espression

Problemi z drugimi jeziki kot so c++, cgi, java, itd.
Odgovori
sax15
Prispevkov: 88
Pridružen: 14.07.2003 10:27:40

Regular espression

Odgovor Napisal/-a sax15 » 27.03.2010 10:43:09

Zdravo,
imam sledeč problem. Imam html kodo, katere izsek izgleda takole:

Koda: Izberi vse

  <div class="dnevLink uid67722"><a href="#" onclick="javascript:return false;">Dnevnik 26.3.2010.</a></div>
          <div class="dnevVideo uid67722"><div class="news-single-video"><span class="rgmediaimages-player rgmi67722 " id="playerafde02d3a2e0a0177ef32db56f43e777"></span>
							<script type="text/javascript">
								
								var so = new SWFObject("http://www.hrt.hr/typo3conf/ext/rgmediaimages/res/mediaplayer.swf","mpl","379","300","8");
								so.addParam("allowscriptaccess","always");
								so.addParam("allowfullscreen","true");
								so.addParam("wmode","transparent");so.addParam("flashvars","&file=http://www.hrt.hr:81/v/2603/dnevnik26032010.flv&streamer=lighttpd");so.addVariable('width','379');
so.addVariable('height','300');
so.addVariable('screencolor','0xE6E6E6');
so.addVariable('image','http://www.hrt.hr/fileadmin/templates/logoFlashBigBlue.png');
so.addVariable('logo','http://www.hrt.hr/fileadmin/templates/logoFlashTop.png');
								so.write("playerafde02d3a2e0a0177ef32db56f43e777");
								
							</script><br /></div></div>
Sedaj bi pa rad z regularnimi izrazi iz te kode izluščil Dnevnik 26.3.2010. in pa http://www.hrt.hr:81/v/2603/dnevnik26032010.flv
Regularni izraz, ki izlušči vsak posamezni del imam in sicer za Dnevnik 26.3.2010. je

Koda: Izberi vse

 onclick="javascript:return false;">(?<title>[^\<]+) 
za http://www.hrt.hr:81/v/2603/dnevnik26032010.flv pa

Koda: Izberi vse

 so.addParam\("flashvars","&file=(?<VideoUrl>[^&]+) 
Sedaj pa me zanima kako oba izraza skombinirati, da bom dobil dve grupi in sicer:
title: Dnevnik 26.3.2010.
url: http://www.hrt.hr:81/v/2603/dnevnik26032010.flv

Hvala

5r
Prispevkov: 131
Pridružen: 14.01.2003 11:14:38

Regular espression

Odgovor Napisal/-a 5r » 31.03.2010 11:16:33

Tkole?

Koda: Izberi vse

(?<=onclick="javascript:return false;">)(.*?)(?=</a>).*?flashvars","&file=(.*?)(?="\);)
ali pa kar
onclick="javascript:return false;">(.*?)</a>.*?flashvars","&file=(.*?)"\);
Zadnjič spremenil 5r, dne 31.03.2010 11:17:00, skupaj popravljeno 1 krat.

sax15
Prispevkov: 88
Pridružen: 14.07.2003 10:27:40

Regular espression

Odgovor Napisal/-a sax15 » 04.04.2010 20:00:18

Hvala, bom poskusil.

Odgovori