2011-10-21 46 views
1

我正在尋找一種方法,通過正則表達式將第二個鏈接http://secure.hello.com拉出以下字符串。通過正則表達式從字符串中提取第二個url

http://hello.com/http://secure.hello.com 

該字符串可能包含或不包含https在任一個點中。

+0

難道有這樣的事情:'http://hello.com/http://secure.hello.com/http:// supersecure.hello.com'?輸出應該是什麼? –

回答

1

試試這個正則表達式:

://\S*/(\w+://\S*) 

它搜索第一://然後從空間除了搜索,然後://斜線其次是一些字的字符,然後什麼。你想要的文本是在第一個捕獲組。

在PHP字符串字面就可以寫成:

'#://\S*/(\w+://\S*)#' 

看到它聯機工作:ideone

如果要限制HTTP或HTTPS,改變\w+https?

+0

捕獲組內的貪婪。*也會假設該url後面的所有內容都是其中的一部分。也許你應該將它修改爲任何角色而不是空間或類似的東西? '「#://.*/(\ w +:// [^ \ s])#」'顯然這是假定在OP沒有指定的URL之後可能有東西。 –

相關問題