Url 从 <script> 中提取的数据的正则表达式

Url regex from data extracted from <script>

我在从 html 中提取 URL 的字符串中正确识别和排除一些垃圾时遇到问题 这是我的字符串:

{"small":"[https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/-bMAAOSw4GVYNbci/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDU5Mw==/z/TLUAAOSwiONYNbch/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/BGEAAOSw44BYNbcj/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/anwAAOSwB09YNbcj/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/zuMAAOSw-0xYNbcg/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/U70AAOSwImRYNbcj/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/NTgyWDgwMA==/z/owgAAOSwcUBYNbch/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/TNgAAOSwiONYNbci/$_19.JPG, https://img.classistatic.com/crop/50x50/i.ebayimg.com/00/s/ODAwWDYwMA==/z/Dh0AAOSwiDFYNbcj/$_19.JPG]","medium":"[https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/-bMAAOSw4GVYNbci/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDU5Mw==/z/TLUAAOSwiONYNbch/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/BGEAAOSw44BYNbcj/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/anwAAOSwB09YNbcj/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/zuMAAOSw-0xYNbcg/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/U70AAOSwImRYNbcj/$_20.JPG, https://i.ebayimg.com/00/s/NTgyWDgwMA==/z/owgAAOSwcUBYNbch/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/TNgAAOSwiONYNbci/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/Dh0AAOSwiDFYNbcj/$_20.JPG]","large":"[https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/-bMAAOSw4GVYNbci/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDU5Mw==/z/TLUAAOSwiONYNbch/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/BGEAAOSw44BYNbcj/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/anwAAOSwB09YNbcj/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/zuMAAOSw-0xYNbcg/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/U70AAOSwImRYNbcj/$_20.JPG, https://i.ebayimg.com/00/s/NTgyWDgwMA==/z/owgAAOSwcUBYNbch/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/TNgAAOSwiONYNbci/$_20.JPG, https://i.ebayimg.com/00/s/ODAwWDYwMA==/z/Dh0AAOSwiDFYNbcj/$_20.JPG]","alt-tags":"[Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 1, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 2, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 3, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 4, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 5, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 6, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 7, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 8, Wynajmę pokój 2osobowy od zaraz Wola/Śródmieście Wolska z Wola zdjęcie: 9]"}

我使用这个正则表达式:

\b(ftp|https?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?\b

因为我想把URL分开。 问题是正则表达式将 ]","large":" 识别为 url 的一部分。 我需要在 import.io 中使用它 我试图修改它并寻找类似的案例,但我找不到正确的解决方案...

你可以用这个\b(ftp|https?):\/\/(\w+:{0,1}\w*@)?([^\] ]+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?\b

我将 \S+ 部分更改为 [^\] ]+,这意味着它不再匹配 ] 括号和空格。如果您有包含括号的网址,您可以将 JSON 对象的字符串轻松转换为您所用语言的对象,并以编程方式提取网址。