4

我想检查字符串是否是使用 java regex 的 facebook 的 URL。
例如:facebook.com/username

如果它使用协议 http 或 https
http://www.facebook.com/xyz
https://www.facebook.com/xyz ,它也应该匹配

或没有协议也
www.facebook.com/xyz

4

1 回答 1

12

我不会使用正则表达式,创建一个新URL并使用getHost获取主机名并检查它是否适合您。(也可以查看其他网址信息)

if (!urlString.startsWith("http")) {
    urlString = "http://" + urlString;
}
String hostname = new URL(urlString).getHost();

如果您坚持使用正则表达式,您可以使用以下内容:

String regex = "((http|https)://)?(www[.])?facebook.com/.+";
someURL.matches(regex);

应该匹配http/https有或没有的任何组合www

于 2012-12-20T18:17:48.433 回答