我想检查收到的输入是否是使用REGEX的url。我该怎么做 ?是否有可用于检查网址的标准REGEX?
我的要求是检查输入文本是否为url,但是如果文本包含url则不然。
答案 0 :(得分:5)
你可以在android中检查没有正则表达式
android.util.Patterns.WEB_URL.matcher(linkUrl).matches();
答案 1 :(得分:4)
我强烈建议不要在这种情况下使用正则表达式,因为有很多不同的情况可以构成有效的URL(有关RFC有效正则表达式的示例,请参阅this question的最高投票答案)。如果在Android上工作,我建议使用Uri类;
String urlToValidate = "http://google.co.uk/search";
Uri uri = Uri.parse(urlToValidate);
然后,您可以查看URL的不同部分,以确保您愿意接受URL输入。例如;
uri.getScheme(); // Returns "http", if you only want an HTTP url
uri.getHost(); // Returns "google.co.uk", if you only want a specific domain
uri.getPath(); // Returns "/search"