如何使用正则表达式提取 URL 的引号

How to extract URL's in quotes by using regex

我有一个文本,它是一个损坏的 sqlite 3 数据库,它有很多 url,大部分都在引号中。在不丢失 URL 的任何部分的情况下提取它们的最佳方法是什么?

链接包含各种字符,50%的链接来自搜索引擎100个字符等

此文本文件是损坏的 sqlite 3 数据库。

How it looks

"url":"http://www.bing.com/search?q=test"

如果您使用的是 unix,则应执行以下操作

strings sqllite.txt | grep '\"http[^\"]*"' | tr '"' '\n' | grep 'http' | sort | uniq > extracted_urls.txt

其中sqllite是数据库文件。刚刚在 RHEL 上测试过。 sort 和 uniq 只是为了去除重复的 URL。

编辑:忽略文件中的网站图标的新表达式

strings sqllite.txt | grep '\"url\":\"http[^\"]*"' | tr ',' '\n' | grep '\"url\":\"http' | tr '"' '\n' | grep 'http' | sort | uniq > extracted_urls.txt