正则表达式匹配任一URL形式

时间:2015-03-02 07:58:37

标签: regex

我正在匹配Twitter个人资料网址中的用户名部分 - 例如。 http://www.twitter.com/joebloggs

目前,我已成功使用http://www.twitter.com/(\ w +)

但是,在某些情况下,源网址的格式为http://www.twitter.com/@joebloggs

这是不必要的,但我仍然需要找到" joebloggs"全都一样。所以我需要匹配没有@或@的格式。

我尝试过使用管道或垂直条的各种方法。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用以下选项使@成为可选项:

^http:\/\/www\.twitter\.com\/@?(\w+)

<强>解释

^            # match start of input
http:        # match literal http://
\/\/         # match 2 // (escaping is needed for some regex engines)
www          # match literal www
\.           # match literal dot (escaping since dot is special meta char)
twitter\.com # match literal twitter.com
\/           # match literal /
@?           # match optional @
(\w+)        # match 1 or more word characters and group it