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

标签 regex url import.io

我在使用从 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+ 部分更改为 [^\] ]+,这意味着它不再匹配 ] 括号和空格了。如果你有包含括号的 url,你可以将你的字符串(它是一个 JSON 对象)轻松地转换成你的语言的对象,并以编程方式提取 url。

关于regex - 从 <script> 中提取的数据的 Url 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40830927/

相关文章:

asp.net-mvc - ASP.NET MVC。部分 View 的特定 URL

web-crawler - 爬取产品详细信息页面时动态分配列?

regex - sed 以匹配多行范围并替换

.htaccess - 使用 .htaccess 自定义 SEO URL

javascript - yyyy-mm-dd 的正则表达式

网址和内容中的 PHP %20 问题

javascript - Import.io(网络爬虫)不断查询但没有输出

regex - 在空格之间捕获的正则表达式

regex - 使用 grep 从 html 文件中获取 src 属性

php - 在 RegEx (PCRE) 中的上一场比赛结束时继续