Проверьте расширение с помощью RegEx - PullRequest
3 голосов
/ 22 марта 2011

Например, у меня есть строка /wiki/File:test.JPG Я должен проверить, имеет ли она один из расширений "jpeg","jpg","png","gif"

В настоящее время я написал, что link.search(/.[j,p,g][p,i,n][e,g,f][g]?/gi) и это работает, но я бы хотел лучше регулярное выражение.

Ответы [ 5 ]

8 голосов
/ 22 марта 2011

Просто напишите регулярное выражение в виде списка:

/\.(jpe?g|png|gif)$/gi

(обратите внимание на экранированную точку (.))

РЕДАКТИРОВАТЬ: Добавлено $.

4 голосов
/ 22 марта 2011

Только для справки в будущем, этот инструмент неоценим при работе с регулярными выражениями во флэш-памяти:

Веб-версия:

http://gskinner.com/RegExr/

Настольная версия:

http://gskinner.com/RegExr/desktop/

2 голосов
/ 22 марта 2011

Может как то так?

/\.(jpe?g|jpg|png|gif)$/gi

Точка должна быть экранирована (с косой чертой), и я написал $, чтобы указать на тот факт, что это должен быть конец строки.

1 голос
/ 22 марта 2011

Если вы также хотите сопоставление без учета регистра, попробуйте это:

 \.(?i)(jpe?g|png|gif)$

Точка должна быть экранирована, иначе она будет соответствовать любому символу:)

1 голос
/ 22 марта 2011
 var pattern: RegExp = /\.(jpe?g|png|gif)$/gim
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...