以下是用户可能的输入。
<embed src="http://player.youku.com/player.php/sid/XMTQxNzMxMjI0/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed>
http://player.youku.com/player.php/sid/XMTQxNzMxMjI0/v.swf
http://v.youku.com/v_show/id_XMTQxNzMxMjI0.html
我需要一个正则表达式来从提供的输入中提取视频 ID。
这就是我会怎么做。第一个捕获组中的 ID。
youku\.com/(?:player.php/sid/|v_show/id_)([a-zA-Z0-9]+)(?:/|\\.)
Run Code Online (Sandbox Code Playgroud)
我现在明白你使用 php 作为应用程序语言,这会改变一些事情。您必须以您自己选择的形式特征开始和结束正则表达式。对于这个正则表达式,我会使用哈希字符,因为它没有在正则表达式中的任何地方使用:
$regExp = "#youku\.com/(?:player.php/sid/|v_show/id_)([a-zA-Z0-9]+)(?:/|\\.)#";
Run Code Online (Sandbox Code Playgroud)