正则表达式id imgur嵌入?

时间:2015-04-05 02:57:28

标签: javascript regex

我还在学习使用正则表达式;我试过通过其他类似的线程,但他们没有帮助。

以下是imgur.com的嵌入式iframe的正则表达式:https://regex101.com/r/qI4lY7/1

(https?:\/\/imgur\.com\/a\/(.*?)(?:\/)?)

我如何获得完整的身份证明?

标本网址(取自链接的regex101):

  • http://imgur.com/a/ksU2j/embed#0
  • http://imgur.com/a/ksU2j#0
  • http://imgur.com/a/ksU2j
  • http://imgur.com/a/ksU2j/all
  • http://imgur.com/a/ksU2j/embed?backgrou...umbs=true

什么? downvote到3?

1 个答案:

答案 0 :(得分:2)

尝试以下正则表达式,然后从组索引2获取id,从索引1获取url。

(https?:\/\/imgur\.com\/a\/(.*?)(?:[#\/].*|$))

DEMO

这里更棘手的部分是添加行锚的$末尾。因此,如果在(.*?)之后存在此类符号,则/会捕获#/a符号以外的所有字符,或者它会捕获到行尾的所有字符

> var s = 'http://imgur.com/a/ksU2j/embed#0'
undefined
> /https?:\/\/imgur\.com\/a\/(.*?)(?:[#\/].*|$)/.exec(s)
[ 'http://imgur.com/a/ksU2j/embed#0',
  'ksU2j',
  index: 0,
  input: 'http://imgur.com/a/ksU2j/embed#0' ]