Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выделить из полного локального пути имя файла
 
 автор: LouD   (27.01.2008 в 22:32)   письмо автору
 
 

Есть, казалось бы, простая задача - имею полный локальный путь к файлу - нужно выделить собственно имя файла, без папок и диска.

Написал выражение вида:

var str=document.getElementById("imageFile").value;
var re=new RegExp("([a-z]\:\\)([^/]+[\\])(\w+\.\w+)","i");
var result=re.test(str);
if (result) {
   alert(RegExp.$3);
}

и ничего...
Я пробовал и чуть другой вариант

var result=re.exec(str);
if (result!=null) {

результат аналогичный..

И при этом в конструкторе (http://www.pcre.ru/eval/) все ок - разбирает путь и отдает в $3 имя файла.
http://www.pcre.ru/eval/(%5BA-Za-z%5D%5C%3A%5C%5C)(%5B%5E%262f%3B%5D%2B%5B%5C%5C%5D)(%5Cw%2B%5C.%5Cw%2B%24)%40%3D%23%3D%40101%40%3D%23%3D%40E%3A%5CWeb%20projects%5CMyTest%5Cphp%5Cstart.php/

В чем ошибка, куда копать?

   
 
 автор: SHAman   (27.01.2008 в 23:02)   письмо автору
 
   для: LouD   (27.01.2008 в 22:32)
 

/^.*(\\|\/)(.*?)$/

ответ в $2

   
 
 автор: LouD   (28.01.2008 в 00:22)   письмо автору
 
   для: SHAman   (27.01.2008 в 23:02)
 

спасибо!

кстати, почему-то если использовать через new RegExp(...) - то и этот пример не работает.
А вот если так:

        var re=/([A-Za-z]\:\\)([^/]+[\\])(\w+\.\w+)/;
//        var re=/^.*(\\|\/)(.*?)$/;
        var result=re.exec(str);
        alert(RegExp.$3);
//        alert(RegExp.$2);



то оба работают.. В документации написано, что оба варианта объявления идентичны - а на практике получилось, что нет :(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования