正则表达式 flash url
您好,我正在尝试开发一个 C# 程序来抓取网站上 flash 电影的 url,这是我正在尝试解析的代码
flashvars="file=http://cache01-videos02.myspacecdn.com/24/vid_878ccd5444874681845df39eb3f00628 .flv"/>
我使用正则表达式得到的最接近的是这个表达式
file=http://[^/ ]+/(.*)flv
但是它输出时带有 file= 部分,如何过滤掉 file= 部分?
Hi Im trying to develop a C# program to scrape the urls of flash movies on a website, this is the code im trying to parse
flashvars="file=http://cache01-videos02.myspacecdn.com/24/vid_878ccd5444874681845df39eb3f00628.flv"/>
the closest I got using regex was this expression
file=http://[^/]+/(.*)flv
However it outputs with the file= portion, How do I filter out the file= part?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你需要这个:
(?/...)
部分将提取括号之间的部分,并将其命名为“flashurl”;I think you need this:
The
(?/<flashurl>...)
part will extract the part between the parentheses and give it the name "flashurl";将 Regex 更改为以下内容并使用 Groups 属性
基本上,.Net 中的正则表达式语法使用括号 () 进行分组,模式中的每个括号表达式都可以通过 Groups 属性访问。 组从零到右从左到右编号,但整个匹配始终被视为一个组,并且在组集合中始终具有索引 0
编辑
此模式需要注意的一件事是,如果输入包含如果有多个 Flash URL,那么正则表达式的贪婪性质将导致您得到一个奇怪的匹配,其中包含从第一个 URL 开头到最后一个 URL 结尾的所有文本。
Change the Regex to the following and use the Groups property
Basically the Regular Expression syntax in .Net uses brackets () for grouping, each bracketed expression in the pattern will be accessible through the Groups property. Groups are numbered from left to right from zero BUT the entire match is always considered as a Group and will always have index 0 in the Groups collection
Edit
One thing to note with this pattern is that if the input contains multiple flash URLs then the greedy nature of Regular Expressions will cause you to get a weird match which incorporates all the text from the start of the first URL to the end of the last URL.