我有以下正則表達式匹配Url的。我想要做的是在URL屬於某個域時讓它不匹配,比方說google.com。正則表達式匹配Url的,除了某個域
我該怎麼做?我一直在閱讀其他問題和正則表達式參考,到目前爲止我可以實現它。我的正則表達式:
^(https?:\/\/)?([\da-zA-Z\.-]+)\.([a-zA-Z\.]{2,6})([\/\w \.-]*)*\/?$
我用這個在聊天來過濾消息,我使用C#這樣做。下面是如果你想進一步挖掘工具:http://regexr.com/3faji
C#擴展方法:
static class String
{
public static string ClearUrl(string text)
{
Regex regx = new Regex(@"^(https?:\/\/)?([\da-zA-Z\.-]+)\.([a-zA-Z\.]{2,6})([\/\w \.-]*)*\/?$",
RegexOptions.IgnoreCase);
string output = regx.Replace(text, "*");
return output;
}
}
感謝所有幫助
添加負前瞻:'^(HTTPS:\/\ /)((?:WWW \)谷歌\ .COM?!?)([\ DA-ZA-Z? - ] +。([a-zA-Z \。] {2,6})([\/\ w .-] *)* \ /?$' – anubhava
@anubhava感謝您的評論。你粘貼的表達方式不起作用,但現在我知道負面看法,我會尋找它並嘗試使其工作。謝謝 –
提供樣本數據和您的正則表達式語言/工具,以便我們可以進一步挖掘。 – anubhava