正则表达式 - 在 url 中阻止空格

regex - block whitespaces in url

我正在使用正则表达式来匹配 Facebook url。

((http|https)://)?(www[.])?facebook.com/.+

它接受:

facebook.com/xxxxx
www.facebook.com/xxxxx
http://facebook.com/xxxxx
https://facebook.com/xxxxx

但它仍然接受 /:

之后的空格

facebook.com/(spaces there)

如何预防?

您可以通过在 https 中使用问号将 s 设为可选来缩短模式,并使用 \S+ 来匹配 1 个或多个非空白字符,而不是 .+,它也可以匹配空格。

(?:https?://)?(?:www\.)?facebook\.com/\S+

Regex demo