回答
您可以使用該負前瞻基於正則表達式:
~\b(?:https?|market)://\S+?(?!.*?\b(?:https?|market)://)~i
你需要使'\ S +'非貪婪。現在它匹配'http:// f,http:// foo'。 [演示](http://regex101.com/r/kJ3dW9/1)。 –
謝謝埃德,我編輯它。 – anubhava
$regex = "/(http|https|market)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$text = "http://link.com some text in between https://link.com more text in between market://link.com";
if(preg_match_all($regex, $text, $url))
{
echo $url[0][count($url[0])-1]; // Outputs: market://link.com
}
公平地說,如果字符串是逗號分隔的,那麼[簡單的爆炸會比這裏的正則表達式更好](http://programmers.stackexchange.com/a/113243/108554) –
這只是一個例子。它工作正常,沒有逗號。 –
- 1. 訪問VBA查找字符串的最後一個字符串?
- 2. 查找字符串中字符的最後一個索引
- 3. 查找鏈接字符串
- 4. 如何查找字符串c#中的最後一個數字?
- 5. PHP查找字符串中的鏈接
- 6. 查找字符串中的鏈接
- 7. 在分隔符後面查找最後一個字符串:Javascript
- 8. C++:查找字符串中字符的最後一次出現
- 9. 查找字符串中的最後一個元音
- 10. R:查找字符串中的最後一個點
- 11. 查找字符串的最後一個字母
- 12. 在PHP字符串中查找鏈接並將其轉換爲超鏈接?
- 13. 查找最後一個字符
- 14. 查找字符串中最後一位數字的位置
- 15. 超鏈接中的字符串格式
- 16. 尋找一種方法來替換超鏈接的字符串
- 17. java遞歸查找字符串中字符的最後一個索引
- 18. 查找另一個字符串後的字符串
- 19. 查找帶有字符串的最後一個逗號SQLITE
- 20. Vb.net點擊鏈接查找字符串!
- 21. MYSQL:查找字符的最後一次出現在一個字符串
- 22. 刪除字符串中最後一個空格後的最後一個字符
- 23. C++查找子字符串中最後一次發生的字符串
- 24. 如何查找Swift字符串中子字符串的最後一次出現?
- 25. 查找鏈接結構堆中的最後一個元素
- 26. 最後一個字符串
- 27. C++:查找字符串中的一個字符,然後找到另一個字符前一個字符
- 28. 在HTML中連接兩個字符串其中一個字符串之間有一個超鏈接
- 29. 查找字符串到最後出現
- 30. Python找到字符串中最後一個數字的位置
是沒有找到一個正則表達式的方法。 – PeeHaa
當然有。是使用正則表達式的最佳解決方案?很難知道。你能否提供一個字符串示例以及你已經嘗試過的...? –