我想返回电视剧网址的匹配项:
YES: http://www.rottentomatoes.com/tv/falling-skies/
但不在电视剧集或电视剧季中
NO: http://www.rottentomatoes.com/tv/falling-skies/s03
NO: http://www.rottentomatoes.com/tv/falling-skies/s12/e01
我目前有以下正则表达式:
match = re.match('(http(s)?://)?(www.)?rottentomatoes.com/tv/.+', url)
这与上述所有三个匹配。我将如何构造正则表达式以仅匹配第一个?
最佳答案
使用否定字符类代替 .+
:
^http://www\.rottentomatoes\.com/tv/[^/]+/?$
[^/]+
匹配任何不是斜杠的字符一次或多次 - 这是从 tv/
到下一个斜杠(或结尾)的所有内容如果 /
不存在,则为字符串)。
关于python - 烂番茄URL上的正则表达式——排除词干,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25392099/