正则表达式 - 是TED视频链接

时间:2014-02-09 00:26:00

标签: php regex

我正在使用这个正则表达式:

  

preg_match("/ted\\.com\\/talks\\/(.*)\\.html/i", $arr[0])

了解该链接是否指向TED.com视频页面,如http://www.ted.com/talks/aparna_rao_art_that_craves_your_attention.html

然而,当他们发布新版TED时,这些视频现在也采用以下格式:http://new.ted.com/talks/aparna_rao_art_that_craves_your_attention

并且如此:

  

preg_match("/ted\\.com\\/talks\\/(.*)/i", $arr[0])

匹配(旧版本和新版本)版本,它也匹配此网址http://new.ted.com/talks/,我不希望它匹配。如何将(.*)部分设为强制性的?

1 个答案:

答案 0 :(得分:3)

要在/talks/强制要求后制作该部分,您应使用+代替*。这可确保括号内的组中至少出现一个字符:

preg_match("/ted\\.com\\/talks\\/(.+)/i", $arr[0])