亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不用否定重寫正則表達式

不用否定重寫正則表達式

Go
狐的傳說 2021-10-25 20:24:13
我寫了這個正則表達式來幫助我從一些文本文件中提取一些鏈接: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貢獻1829條經驗 獲得超4個贊

試試這個正則表達式:

https?:[^:]*$


查看完整回答
反對 回復 2021-10-25
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

前瞻的存在是有原因的。

但是,如果您堅持使用所謂的等效替代方案,則可以使用的一般策略是:

(?!xyz)

有點等價于:

$|[^x]|x(?:[^y]|$)|xy(?:[^z]|$)

話雖如此,希望我沒有犯任何錯誤:

https?:\/\/(?:$|(?:[^h]|$)|(?:h(?:[^t]|$))|(?:ht(?:[^t]|$))|(?:htt(?:[^p]|$))|(?:http(?:[^s:]|$))|(?:https?(?:[^:]|$))|(?:https?:(?:[^\/]|$))|(?:https?:\/(?:[^\/]|$)))*$



查看完整回答
反對 回復 2021-10-25
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號