Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2014, 20:55
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

регулярное в поиске файла
Добрый вечер. Мозг под ночь совсем не может понять одну вещь. Прошу помощи!

есть файлы типа :
IMG_0013.jpg,
13.jpg,
34.jpg,
0034.jpg,
065.png,
SER_065.png,
Anf54.jpe

Мне нужно найти файл 0013. Но не знаю его префикса (IMG_ или любые другие буквы перед номером) и есть ли префикс вообще.
необходимо чтобы регулярка нашла этот файл.

Так же к примеру мне нужен файл с номером 34. Не учитывая в поиске, что есть файл с именем 0034.
То же касается поиска файла 13, не находя файл IMG_0013.

Придумал только так, но это убожно....... префикс (буквы перед номером) не ищет и другие символы.

regexp = new RegExp (number+"\.(jpg|jpe|jpeg|png)"+"$","gi");
if (regexp.test (file))al("yes")


Ребята это реально ?
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2014, 21:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Maxfashko
Ребята это реально ?
Да.
Как вариант...

var str='IMG_0013.jpg';
// Проверка на 0013
if (str.search(/0013(?=\.)/) != -1) {
	alert('Ok');
};
str='IMG_0013.jpg';
// Проверка на 13
if (str.search(/(^|[^\d])13(?=\.)/) != -1) {
	alert('Ok');
} else {
	alert('No');
};
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2014, 21:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

regexp = new RegExp ('(^|\\D)' + number + '\\.(jpg|jpe|jpeg|png)$','i');
if (regexp.test (file))al("yes")
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 02.10.2014, 05:09
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

Спасибо! )
Ответить с цитированием
  #5 (permalink)  
Старый 02.10.2014, 05:11
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

Сообщение от Aetae Посмотреть сообщение
regexp = new RegExp ('(^|\\D)' + number + '\\.(jpg|jpe|jpeg|png)$','i');
if (regexp.test (file))al("yes")
что означает двойной слэш? Я как понимаю мы ищем (начало или нецифровые символы)
Ответить с цитированием
  #6 (permalink)  
Старый 02.10.2014, 07:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Maxfashko, двойной слэш потому что тут мы имеем дело со строкой которую преобразуем в regexp, по этому теребуется "экранировать символ экранирования".)


new RegExp(
'\\D' //строка
) 
// ->
/\D/ //regexp
// ->
[^0-9] //то что ищем на самом деле

Если же написать new RegExp ('\D') то получим мы new RegExp ([экранированный символ D]), а поскольку для строки "D" не является спецсимволом, то экранированный "D" - это то же самое, что и обычный "D", т.е. запись new RegExp ('\.') - на деле то же самое, что и new RegExp ('.') .
__________________
29375, 35

Последний раз редактировалось Aetae, 02.10.2014 в 07:25.
Ответить с цитированием
  #7 (permalink)  
Старый 02.10.2014, 08:48
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

По-человечески благодарю (и + в карму)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Подгрузка информации через DIV с обработкой файла на стороне сервера Azartno jQuery 1 26.05.2012 15:07
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Проблема с загрузкой файла на сервер shkarbatov Серверные языки и технологии 8 13.08.2011 01:27
Регулярное выражение, замена ссылки к файлу на имя файла libinstyle Events/DOM/Window 2 19.07.2010 17:50