正则表达式匹配网址模式

时间:2013-12-10 15:56:45

标签: regex

我需要一个正则表达式模式来匹配网址与随机令牌:

https://api.twitter.com/oauth/authenticate?oauth_token=TOKEN

这是我到目前为止所尝试的,但它没有返回匹配

/^https?:\/\/api.twitter.com\/oauth\/authenticate$\?oauth_token=./

我已经搜索过但是发布的正则表达式解决方案对于用例来说是如此具体,我还没有找到任何有用的东西。

2 个答案:

答案 0 :(得分:2)

你的正则表达式:

/^https?:\/\/api.twitter.com\/oauth\/authenticate$\?oauth_token=./

由于您有oauth_token=

,因此只会在.后匹配单个字符

您应该使用.*$,如下所示:

/^https?:\/\/api.twitter.com\/oauth\/authenticate$\?oauth_token=.*$/

或更好:

/^https?:\/\/api.twitter.com\/oauth\/authenticate$\?oauth_token=[^&]*/

哪个匹配直到字符串或下一个查询参数结束。

答案 1 :(得分:2)

/^https?:\/\/api\.twitter\.com\/oauth\/authenticate\?oauth_token=(.*)/

我转义了网址中的.个字符,并将oauth标记添加到捕获组中,以便它可以用于您需要处理的任何内容。