2013-12-10 4 views
-1

мне нужно регулярное выражение, чтобы соответствовать URLs со случайным маркером:Regex чтобы соответствовать шаблону адреса

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

Это то, что я пытался до сих пор, но его не возвращающий матча

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

Я искал, но опубликовал регулярные выражения, настолько специфичные для использования, что я еще не нашел ничего полезного.

+0

Я думаю, что последний бит должен содержать *, чтобы соответствовать любому количеству символов после окончания рисунка. Нет? – Alex

ответ

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=[^&]*/ 

Которое будет соответствовать до конца строки или следующего параметра запроса.

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

Я избежал . символов в URL, а также добавлен маркер OAuth для захвата группы, так что она может быть использована для все, что нужно сделать с ним.

Смежные вопросы