regex - 重写正则表达式而不使用否定

标签 regex go regex-negation

我编写了这个正则表达式来帮助我从一些文本文件中提取一些链接:

https?:\/\/(?:.(?!https?:\/\/))+$

因为我正在使用 golang/regexp lib,所以由于我的否定 (?!..

我想要用它做的是选择从最后一次出现的 http/https 到最后的所有文本。

sometextsometexhttp://websites.com/path/subpath/#query1sometexthttp://websites.com/path/subpath/#query2

=> 输出:http://websites.com/path/subpath/#query2

任何人都可以帮助我解决问题吗?我花了几个小时尝试不同的方法来重现相同的结果,但没有成功。

最佳答案

尝试这个正则表达式:

https?:[^:]*$

Regex live here.

关于regex - 重写正则表达式而不使用否定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832852/

相关文章:

javascript - 为什么我的正则表达式电子邮件验证不起作用?

javascript - 使用正则表达式验证日期

unit-testing - 如何测试我的接口(interface)功能?

正则表达式匹配没有标点符号的邮政编码

regex - .htaccess 为每个子目录设置默认页面

memory-management - 如何在go中释放内存?

go - 使用 Kubernetes client-go 创建作业

java - 显式匹配模式 [] 或 [][] 的正则表达式。?

c# - 解析正则表达式时出错

regex - 正则表达式排除特定字符串