我在用这个正则表达式:
preg_match("/ted\\.com\\/talks\\/(.*)\\.html/i", $arr[0])
查找链接是否指向TED.com视频页面(如attention.html )
然而,当他们发布新版本的TED时,这些视频现在也有了这样的格式:attention
因此:
preg_match("/ted\\.com\\/talks\\/(.*)/i", $arr[0])
匹配(旧的和新的)版本,它也匹配这个url http://new.ted.com/talks/,我不希望它匹配。如何将(.*)部件设置为强制性的?
发布于 2014-02-09 00:30:17
要使零件在/talks/后必须使用,您应该使用+而不是*。这确保括号组中至少出现一个字符:
preg_match("/ted\\.com\\/talks\\/(.+)/i", $arr[0])https://stackoverflow.com/questions/21653583
复制相似问题