我试图编写一个匹配网址的正则表达式,只有在'/'
之后才有点。
这是我迄今为止所得到的:http://regexr.com/3cu85
我的正则表达式如下:/facebook.com\/.*[.]/gm
并且我正在使用这个URls进行测试:
facebook.com
facebook.com/
facebook.com/test.user
www.facebook.com
www.facebook.com/
www.facebook.com/test.user
https://www.facebook.com
https://www.facebook.com/
https://www.facebook.com/test.user
问题是我需要匹配完整的网址,因为你可以从单词" facebook"开始。
我尝试了不同的选择,但没有一个适合我。
感谢您的帮助
答案 0 :(得分:1)
我的建议是
(https?:\/\/)?(w{3}\.)?facebook\.com\/[^\/]*\..*
请参阅regex demo(\n
已添加到否定字符类[^\/]
,以便仅匹配单独行中的网址,如果您测试单个字符串,则{{1没有必要。)
此正则表达式匹配:
\n
- (https?:\/\/)?
或http://
https://
- (w{3}\.)?
www
- 文字序列facebook\.com
facebook.com
- 文字\/
/
- 除[^\/]*
以外的零个或多个字符(更好:使用/
匹配除[^\/.]*
和.
之外的任何字符,以避免冗余回溯)/
- 文字\.
.
- 任何0+个字符,但换行符(更好:由于URL不能有空格(通常),您可以将其替换为匹配零个或多个非空白字符的.*
)。 所以,一个更好的选择:
\S*