2011-11-03 71 views
1

我需要帮助正则表达式模式来匹配2个网址?我目前的代码与第一个网址相匹配,但我如何创建一个匹配这两个网址的模式。我试图在每个网址的最后获得随机字符。如何匹配2个网址与一个正则表达式

http://www.videozer.com/video/yKKd

http://www.videozer.com/watch_video.php?v=rbgsd

preg_match('/http\:\/\/((www\.)?)videozer\.com\/video\/([a-zA-Z0-9]+)/', $URL, $result); 
+0

我会做一个单独的模式,检查他们两个,并继续我的生活。 –

+2

已经有很多已经问过的URL正则表达式问题了,你确定它们中没有一个适合你吗? – deviousdodo

回答

3
preg_match('@http://(?:www\.)?videozer\.com/(?:video/|watch_video\.php\?v=)([a-zA-Z0-9]+)@', $URL, $result); 
  1. 使用(abc|def)要匹配字符串 'ABC' 或 'DEF'
  2. 使用不同的分隔符,这样你就不必逃避/
+0

你能帮我解释一下这个:@http://(?:www \。)(。*?)\。(?:com | net | es)/([a-zA-Z0-9] + )/ @'我需要域名和com,net,es前缀后的路径名称 – bammab

1

这应做到:

preg_match('/http\:\/\/((www\.)?)videozer\.com\/(video\/|watch_video\.php\?v=)([a-zA-Z0-9]+)/', $URL, $result); 
相关问题