我还在学习使用正则表达式;我试过通过其他类似的线程,但他们没有帮助。
以下是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?
答案 0 :(得分:2)
尝试以下正则表达式,然后从组索引2获取id,从索引1获取url。
(https?:\/\/imgur\.com\/a\/(.*?)(?:[#\/].*|$))
这里更棘手的部分是添加行锚的$
末尾。因此,如果在(.*?)
之后存在此类符号,则/
会捕获#
或/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' ]