Случается, когда в неожиданном месте есть T_XXX
токен , несбалансированные (лишние) круглые скобки, использование короткого тега без его активации в php.ini и т. д.
Вопросы, относящиеся:
Для получения дополнительной помощи см .:
Ваш regex кажется немного слишком сложным, по-моему. Кроме того, помните, что точка является специальным символом, означающим "любой символ". Следующий regex должен работать (отметьте завершенные точки):
^.*\.(jpg|JPG|gif|GIF|doc|DOC|pdf|PDF)$
можно использовать инструмент как Экспресс для тестирования регулярных выражений.
Вы просто надеющийся проверять, что файл имеет данное расширение? Можно упростить то, что Вы пытаетесь сделать с чем-то вроде этого:
(.*?)\.(jpg|gif|doc|pdf)$
Затем когда Вы называете IsMatch () удостоверяются, что передали RegexOptions. IgnoreCase как Ваш второй параметр. Нет никакой причины должным быть перечислить изменения для преобразования регистра.
Редактирование: Как Dario упоминает, это не собирается работать на RegularExpressionValidator, поскольку он не поддерживает случающиеся опции.
Можно встроить случай insensitity в регулярное выражение как так:
\.(?i:)(?:jpg|gif|doc|pdf)$
Ваш regexp, кажется, проверяет и имя файла и расширение. Это то, в чем Вы нуждаетесь? Я предположу, что это - просто расширение и использовало бы regexp как это:
\.(jpg|gif|doc|pdf)$
И набор соответствие, чтобы быть нечувствительным к регистру.