在javascript中匹配IMDb url

Match an IMDb url in javascript

本文关键字:IMDb url javascript      更新时间:2023-09-26

我正在尝试匹配IMDb url,但一直收到以下错误:

/(^http://imdb'.com/title/tt('d)+/'.+season=('d)+(.+)?$)
|(^http://imdb'.com/title/tt('d)+/(.+)?$)
/.test('http://www.imdb.com/title/tt0429046/?ref_=fn_al_tt_1')
Uncaught SyntaxError: Unexpected token ILLEGAL

这个错误是什么?正确的输入应该是什么?

我可以做的另一个选择是更广泛的:

/imdb.com'/title'/tt('d)+/(.+)?$/.test('http://www.imdb.com/title/tt0429046/?ref_=fn_al_tt_1')

然而,对于这个,我得到了Uncaught SyntaxError: Unexpected token .

您需要在正则表达式中转义/,即:http:'/'/。。。等等

这是一个正在工作的RegEx:

/(^http:'/'/www'.imdb'.com'/title'/tt('d)+'/'.+season=('d)+(.+)?$)|(^http:'/'/www'.imdb'.com'/title'/tt('d)+'/(.+)?$)/

演示

@smithy是正确答案。

他们在这里逃走了。

第一个/(^http:'/'/imdb'.com'/title'/tt('d)+'/'.+season=('d)+(.+)?$)|(^http:'/'/imdb'.com'/title'/tt('d)+'/(.+)?$)/

     (
          ^ http://imdb'.com/title/tt
          ( 'd )+
          /
          '.+ season =
          ( 'd )+
          ( .+ )?
          $ 
     )
  |  (
          ^ http://imdb'.com/title/tt
          ( 'd )+
          /
          ( .+ )?
          $ 
     )

第二个/imdb'.com'/title'/tt('d)+'/(.+)?$/

 imdb '. com/title/tt
 ( 'd )+
 /
 ( .+ )?
 $