Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: Split on regex, don't match partial regex

by aldo (Initiate)
on Sep 28, 2012 at 08:18 UTC ( #996136=note: print w/ replies, xml ) Need Help??


in reply to Re: Split on regex, don't match partial regex
in thread Split on regex, don't match partial regex

hi thanks for the response, the data arrives as a long urlencoded string from an HTTP request to the YouTube gdata API. I've already decoded it

Your code works, however the quality=large at the end could be quality=small quality=medium etc so I can't use that in the regex. I suppose I just need to match a pattern which is

itag=\d{1:2}&url={any number of chars until next itag=\d{1:2}&url= pattern}

There's also a comma separating the itag url pairs

I hope that makes sense!


Comment on Re^2: Split on regex, don't match partial regex
Download Code
Replies are listed 'Best First'.
Re^3: Split on regex, don't match partial regex
by 2teez (Priest) on Sep 28, 2012 at 09:02 UTC
    however the quality=large at the end could be quality=small quality=medium etc so I can't use that in the regex

    Use this then, it works I believe:
    ... if ( my @arr = ($line) =~ m/itag=(.+?)&url=(.+?=.+?)(?=,itag.+?)/ig ) +{ print join "\n" => @arr; } ...
    OR
    use warnings; use strict; while (<DATA>) { chomp; if ( my @arr = /itag=(.+?)&url=(.+?=.+?)(?=,itag.+?)/ig ) { print join "\n" => @arr; } } __DATA__ itag=44&url=http://o-o---preferred---sn-u5a3u5a3-h5oe---v13---lscache3 +.c.youtube.com/videoplayback?upn=8kbZJLkF5PA&sparams=cp%2Cid%2Cip%2Ci +pbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=927101%2C92300 +6%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C919349%2C91 +9351%2C925109%2C919003%2C920201%2C912706&key=yt1&expire=1348823962&it +ag=44&ipbits=8&sver=3&ratebypass=yes&mt=1348800611&ip=92.22.37.231&mv +=m&source=youtube&ms=au&cp=U0hTTVhNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&i +d=1100a4b92b939cd6&type=video/webm;+codecs="vp8.0,+vorbis"&fallback_h +ost=tc.v13.cache3.c.youtube.com&sig=8353F6329CDA8168C4F7F29E20F2AE3F6 +509D85F.C582D63C02534232CE8E28D5ADC5B119AAEF2963&quality=large,itag=3 +5&url=http://o-o---preferred---sn-u5a3u5a3-h5oe---v11---lscache4.c.yo +utube.com/videoplayback?upn=8kbZJLkF5PA&sparams=algorithm%2Cburst%2Cc +p%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&fexp=927 +101%2C923006%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C +919349%2C919351%2C925109%2C919003%2C920201%2C912706&expire=1348823962 +&algorithm=throttle-factor&burst=40&ip=92.22.37.231&itag=35&sver=3&ke +y=yt1&mt=1348800611&mv=m&source=youtube&ms=au&ipbits=8&factor=1.25&cp +=U0hTTVhNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=vi +deo/x-flv&fallback_host=tc.v11.cache4.c.youtube.com&sig=885C9C098DF9D +80E780177E01CF944BC4F9564FE.9A374618A2BE8C2E562C8622DCB449A7071E37BD& +quality=large,itag=104&url=http://o-o---preferred---sn-u5a3u5a3-h5oe- +--v13---lscache3.c.youtube.com/videoplayback?upn=8kbZJLkF5PA&sparams= +cp%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fex +p=927101%2C923006%2C922401%2C920704%2C912806%2C913419%2C913546%2C9135 +56%2C919349%2C919351%2C925109%2C919003%2C920201%2C912706&key=yt1&expi +re=1348823962&itag=44&ipbits=8&sver=3&ratebypass=yes&mt=1348800611&ip +=92.22.37.231&mv=m&source=youtube&ms=au&cp=U0hTTVhNUV9LTENOM19QR1VKOk +FyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=video/webm;+codecs="vp8.0,+vo +rbis"&fallback_host=tc.v13.cache3.c.youtube.com&sig=8353F6329CDA8168C +4F7F29E20F2AE3F6509D85F.C582D63C02534232CE8E28D5ADC5B119AAEF2963&qual +ity=small,itag=15&url=http://o-o---preferred---sn-u5a3u5a3-h5oe---v11 +---lscache4.c.youtube.com/videoplayback?upn=8kbZJLkF5PA&sparams=algor +ithm%2Cburst%2Ccp%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2 +Cexpire&fexp=927101%2C923006%2C922401%2C920704%2C912806%2C913419%2C91 +3546%2C913556%2C919349%2C919351%2C925109%2C919003%2C920201%2C912706&e +xpire=1348823962&algorithm=throttle-factor&burst=40&ip=92.22.37.231&i +tag=35&sver=3&key=yt1&mt=1348800611&mv=m&source=youtube&ms=au&ipbits= +8&factor=1.25&cp=U0hTTVhNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b9 +2b939cd6&type=video/x-flv&fallback_host=tc.v11.cache4.c.youtube.com&s +ig=885C9C098DF9D80E780177E01CF944BC4F9564FE.9A374618A2BE8C2E562C8622D +CB449A7071E37BD&quality=quality=small quality=medium,itag=55&url=http +://o-o---preferred---sn-u5a3u5a3-h5oe---v11---lscache4.c.youtube.com/ +videoplayback?upn=8kbZJLkF5PA&sparams=algorithm%2Cburst%2Ccp%2Cfactor +%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&fexp=927101%2C9230 +06%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C919349%2C9 +19351%2C925109%2C919003%2C920201%2C912706&expire=1348823962&algorithm +=throttle-factor&burst=40&ip=92.22.37.231&itag=35&sver=3&key=yt1&mt=1 +348800611&mv=m&source=youtube&ms=au&ipbits=8&factor=1.25&cp=U0hTTVhNU +V9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=video/x-flv& +fallback_host=tc.v11.cache4.c.youtube.com&sig=885C9C098DF9D80E780177E +01CF944BC4F9564FE.9A374618A2BE8C2E562C8622DCB449A7071E37BD&quality=qu +ality=small quality=medium,itag= ...AND SO ON
    Output
    44 http://o-o---preferred---sn-u5a3u5a3-h5oe---v13---lscache3.c.youtube.c +om/videoplayback?upn=8kbZJLkF5PA&sparams=cp%2Cid%2Cip%2Cipbits%2Citag +%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=927101%2C923006%2C922401%2 +C920704%2C912806%2C913419%2C913546%2C913556%2C919349%2C919351%2C92510 +9%2C919003%2C920201%2C912706&key=yt1&expire=1348823962&itag=44&ipbits +=8&sver=3&ratebypass=yes&mt=1348800611&ip=92.22.37.231&mv=m&source=yo +utube&ms=au&cp=U0hTTVhNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b +939cd6&type=video/webm;+codecs="vp8.0,+vorbis"&fallback_host=tc.v13.c +ache3.c.youtube.com&sig=8353F6329CDA8168C4F7F29E20F2AE3F6509D85F.C582 +D63C02534232CE8E28D5ADC5B119AAEF2963&quality=large 35 http://o-o---preferred---sn-u5a3u5a3-h5oe---v11---lscache4.c.youtube.c +om/videoplayback?upn=8kbZJLkF5PA&sparams=algorithm%2Cburst%2Ccp%2Cfac +tor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&fexp=927101%2C9 +23006%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C919349% +2C919351%2C925109%2C919003%2C920201%2C912706&expire=1348823962&algori +thm=throttle-factor&burst=40&ip=92.22.37.231&itag=35&sver=3&key=yt1&m +t=1348800611&mv=m&source=youtube&ms=au&ipbits=8&factor=1.25&cp=U0hTTV +hNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=video/x-f +lv&fallback_host=tc.v11.cache4.c.youtube.com&sig=885C9C098DF9D80E7801 +77E01CF944BC4F9564FE.9A374618A2BE8C2E562C8622DCB449A7071E37BD&quality +=large 104 http://o-o---preferred---sn-u5a3u5a3-h5oe---v13---lscache3.c.youtube.c +om/videoplayback?upn=8kbZJLkF5PA&sparams=cp%2Cid%2Cip%2Cipbits%2Citag +%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=927101%2C923006%2C922401%2 +C920704%2C912806%2C913419%2C913546%2C913556%2C919349%2C919351%2C92510 +9%2C919003%2C920201%2C912706&key=yt1&expire=1348823962&itag=44&ipbits +=8&sver=3&ratebypass=yes&mt=1348800611&ip=92.22.37.231&mv=m&source=yo +utube&ms=au&cp=U0hTTVhNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b +939cd6&type=video/webm;+codecs="vp8.0,+vorbis"&fallback_host=tc.v13.c +ache3.c.youtube.com&sig=8353F6329CDA8168C4F7F29E20F2AE3F6509D85F.C582 +D63C02534232CE8E28D5ADC5B119AAEF2963&quality=small 15 http://o-o---preferred---sn-u5a3u5a3-h5oe---v11---lscache4.c.youtube.c +om/videoplayback?upn=8kbZJLkF5PA&sparams=algorithm%2Cburst%2Ccp%2Cfac +tor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&fexp=927101%2C9 +23006%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C919349% +2C919351%2C925109%2C919003%2C920201%2C912706&expire=1348823962&algori +thm=throttle-factor&burst=40&ip=92.22.37.231&itag=35&sver=3&key=yt1&m +t=1348800611&mv=m&source=youtube&ms=au&ipbits=8&factor=1.25&cp=U0hTTV +hNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=video/x-f +lv&fallback_host=tc.v11.cache4.c.youtube.com&sig=885C9C098DF9D80E7801 +77E01CF944BC4F9564FE.9A374618A2BE8C2E562C8622DCB449A7071E37BD&quality +=quality=small quality=medium 55 http://o-o---preferred---sn-u5a3u5a3-h5oe---v11---lscache4.c.youtube.c +om/videoplayback?upn=8kbZJLkF5PA&sparams=algorithm%2Cburst%2Ccp%2Cfac +tor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&fexp=927101%2C9 +23006%2C922401%2C920704%2C912806%2C913419%2C913546%2C913556%2C919349% +2C919351%2C925109%2C919003%2C920201%2C912706&expire=1348823962&algori +thm=throttle-factor&burst=40&ip=92.22.37.231&itag=35&sver=3&key=yt1&m +t=1348800611&mv=m&source=youtube&ms=au&ipbits=8&factor=1.25&cp=U0hTTV +hNUV9LTENOM19QR1VKOkFyQWNVSVFNbmNL&id=1100a4b92b939cd6&type=video/x-f +lv&fallback_host=tc.v11.cache4.c.youtube.com&sig=885C9C098DF9D80E7801 +77E01CF944BC4F9564FE.9A374618A2BE8C2E562C8622DCB449A7071E37BD&quality +=quality=small quality=medium
    If you tell me, I'll forget.
    If you show me, I'll remember.
    if you involve me, I'll understand.
    --- Author unknown to me

      Hi, and THANKS! Now the plugin is working perfectly again.

      I really do need to get better with my Perl..

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996136]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (14)
As of 2015-07-31 21:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (282 votes), past polls