PDA

Просмотр полной версии : Правильно записать регулярное выражение


Universe
28.12.2011, 03:30
Есть такое вот выражение

(https?|ftps?)://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?/g

при использовании выдаёт ошибку 1093: Syntax error.

var regExp:RegExp = /(https?|ftps?)://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?/g/;
trace(regExp.test(src));

как его правильно записать?

Wolsh
28.12.2011, 08:26
Очевидно, заэкранировать слэши?
var regExp:RegExp = /(https?|ftps?):\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?/g;

Universe
29.12.2011, 01:50
спасибо, помогло! Только вот само выражение не хочет делать то что должно, а именно определять наличие ссылки в строке. Может вы можете подсказать, как его нужно поправить?

GBee
29.12.2011, 02:06
/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/?[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi

http://gskinner.com/RegExr/