我寫了這個正則表達式來幫助我從一些文本文件中提取一些鏈接:https?:\/\/(?:.(?!https?:\/\/))+$因為我使用的是 golang/regexp lib,由于我的否定,我無法使用它 (?!..我想用它做的是選擇從最后一次出現 http/https 到最后的所有文本。sometextsometexhttp://websites.com/path/subpath/#query1sometexthttp://websites.com/path/subpath/#query2=> 輸出:http : //websites.com/path/subpath/#query2任何人都可以幫助我解決方案,我花了幾個小時嘗試不同的方法來重現相同的結果,但沒有成功。
2 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
前瞻的存在是有原因的。
但是,如果您堅持使用所謂的等效替代方案,則可以使用的一般策略是:
(?!xyz)
有點等價于:
$|[^x]|x(?:[^y]|$)|xy(?:[^z]|$)
話雖如此,希望我沒有犯任何錯誤:
https?:\/\/(?:$|(?:[^h]|$)|(?:h(?:[^t]|$))|(?:ht(?:[^t]|$))|(?:htt(?:[^p]|$))|(?:http(?:[^s:]|$))|(?:https?(?:[^:]|$))|(?:https?:(?:[^\/]|$))|(?:https?:\/(?:[^\/]|$)))*$
- 2 回答
- 0 關注
- 164 瀏覽
添加回答
舉報
0/150
提交
取消