如果要提取IMDdID,我有一段文本要搜索IMDb链接。
这是一个示例字符串:
http://www.imdb.com/Title/tt2618986
http://www.google.com/tt2618986
https://www.imdb.com/Title/tt2618986
http://www.imdb.com/title/tt1979376/?ref_=nv_sr_1?ref_=nv_sr_1
我只想从第1、3和4行提取2618986
。
这是我当前正在使用但没有运气的正则表达式行:
(?:http|https)://(?:.*\.|.*)imdb.com/(?:t|T)itle(?:\?|/)(..\d+)(.+)?
答案 0 :(得分:2)
如果您只对提取ID感兴趣,那么2618986
的注释都与tt2618986
不符,因此没有任何注释。在第四个小鸟答案的基础上,您需要将tt2618986
分为两部分-tt
和2618986
。因此,不用([a-zA-Z0-9]+)
,而要使用[a-zA-Z]+([0-9]+)
。
^https?://www\.imdb\.com/[Tt]itle[?/][a-zA-Z]+([0-9]+)
然后您可以通过呼叫第1组来提取2618986
部分。
答案 1 :(得分:1)
此表达式可能只是提取那些所需的数字:
^(?:https?://)(?:www\.)?imdb\.com/title/[a-z]+([0-9]+).*$
如果您想探索/简化/修改表达式,可以 在右上角的面板上进行了说明 regex101.com。如果您愿意, 也可以在this link中观看它的匹配方式 针对一些样本输入。