具有正向后视模拟的JavaScript正则表达式

具有正向后视模拟的JavaScript正则表达式,javascript,regex,lookbehind,Javascript,Regex,Lookbehind,我正在尝试创建一个正则表达式,它将从Flickr URL中提取粗体部分 我想要在www.flickr.com/photos/和/之间的字符串 https://www.flickr.com/photos/annaheimkreiter/14785981533/in/explore-2014-07-28 ^^^^^^^^^^^^^^^ 我在这里查看了各种答案,但未能使其适应此目标。您可以使用: var s = 'https://www.flickr.com/photos/annaheimkreite

我正在尝试创建一个正则表达式,它将从Flickr URL中提取粗体部分

我想要在www.flickr.com/photos/和/之间的字符串

https://www.flickr.com/photos/annaheimkreiter/14785981533/in/explore-2014-07-28 ^^^^^^^^^^^^^^^ 我在这里查看了各种答案,但未能使其适应此目标。

您可以使用:

var s = 'https://www.flickr.com/photos/annaheimkreiter/14785981533/in/explore-2014-07-28';
var t;
if (m=s.match(/\/photos\/([^\/]+)/))
   t=m[1];
//=> annaheimkreiter

+1、抓捕组是一条路要走。也许否决票是因为安娜海姆克莱特是CodeToad想要的东西这一问题并不是100%清楚:一方面它是粗体的;另一方面,他说他想要在.com之后的字符串,那就是照片。在这种情况下,代码Toad只是对anubhava的regex:m=s.match/\/flickr\.com\/[^/]+/的一个小小的调整,我同意这里不需要模拟或其他方式的查找,但你应该在答案中包含这样的注释。另外,您不需要在[^/]中转义斜杠吗?。它是正则表达式分隔符,不是正则表达式元字符。实际上,在字符类中,它不需要转义。我用铬做了测试。但可能是一些老的浏览器会抱怨,这就是我编辑它的原因。请参见此处:我希望结果仅为“annaheimkreiter”是的,使用上面显示的代码,结果确实只是annaheimkreiter。“我更改了格式以使其更易于阅读,但我没有尝试修复问题和示例之间的不一致性。你想对照片/目录做什么?我更正了错误。应该是www.flickr.com/photos/