我正在尋找一種方法,通過正則表達式將第二個鏈接http://secure.hello.com
拉出以下字符串。通過正則表達式從字符串中提取第二個url
http://hello.com/http://secure.hello.com
該字符串可能包含或不包含https
在任一個點中。
我正在尋找一種方法,通過正則表達式將第二個鏈接http://secure.hello.com
拉出以下字符串。通過正則表達式從字符串中提取第二個url
http://hello.com/http://secure.hello.com
該字符串可能包含或不包含https
在任一個點中。
試試這個正則表達式:
://\S*/(\w+://\S*)
它搜索第一://
然後從空間除了搜索,然後://
斜線其次是一些字的字符,然後什麼。你想要的文本是在第一個捕獲組。
在PHP字符串字面就可以寫成:
'#://\S*/(\w+://\S*)#'
看到它聯機工作:ideone
如果要限制HTTP或HTTPS,改變\w+
到https?
。
捕獲組內的貪婪。*也會假設該url後面的所有內容都是其中的一部分。也許你應該將它修改爲任何角色而不是空間或類似的東西? '「#://.*/(\ w +:// [^ \ s])#」'顯然這是假定在OP沒有指定的URL之後可能有東西。 –
難道有這樣的事情:'http://hello.com/http://secure.hello.com/http:// supersecure.hello.com'?輸出應該是什麼? –