Написать регулярное выражение, которое распознает путь к файлу во вводимой строке

Надо написать регулярное выражение, которое распознает путь к файлу во вводимой строке.
Например;
«Вадим, файл о котором я говорил, находится на c:\Program Files\Picasa\MyPhono\myphoto.jpg». Надо чтобы выделился путь.
Желательно это сделать средствами c#/ .
Уже второй день мучаюсь, не могу написать ничего работающего. Помогите пожалуйста...

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Джеффри Фридл «Регулярные выражения» — отличная книженция. А вообще единственный дельный совет — RTFM. Для проверки хорош RegexBuddy: rutracker.org/...c.php?t=3320287.

Спасибо, работает!!! А что там поменять, чтобы работало с «d:\edisk\files», то есть путем без всякого лишнего, надо только отбросить кавычки.

((\w{1}:\\(([A-z]|[0-9]|\s)+)\\\w+\.\w+))|(\w{1}:\\(\w+\.\w+))
Тест
c:\ProgramFiles\Pica sa\MyP hono\myphoto.jpg
c:\Program Files\Picasa\MyPhono\myphoto.jpg
c:\1.jpeg
c:\Program Files\Picasa\MyPhono\myp hoto.jpg
Результат:
Count : 3
----
c:\ProgramFiles\Pica sa\MyP hono\myphoto.jpg
----
c:\Program Files\Picasa\MyPhono\myphoto.jpg
----

c:\1.jpeg

Ну если пробел в названии файла тут ничего не поделаешь, разве что как вам написали ловить только картинки, тогда можно указать все расширения файлов, которые нужно ловить. В вашем варианте , похоже на то что текст всегда кириллица, тогда латиницу поймать по шаблону совсем просто и не нужно такое выражение , оно совсем простое (\w{1}:\\([A-z]|[0-9]|\s)+\.\w+)

А вот если в названии русские символы...

gskinner.com/RegExr — еще один неплохой инструмент для работы з RE

Да пока ничего не получается. Это тестовое задание на собеседовании, я его не написал, потому что впервые столкунулся с регэскпами. Думаю хоть как примерно оно должно выглядеть. Есть неплохая библиотека регэспов : regexlib.com, но там тяжело искать, много неработающих выражений. Тестирую TRegExpr или Regexer.
Елементарные регэкспы (найти комбинацию слов, букв, чисел, проверить почта ли это и т д)могу еще осилить, а более серьезные тяжело. Извините за нубство, но с чего начать ?

Надо чтобы при тестировании программа выделяла из строки текста путь к файлу.

Вы составили регулярное выражение? Вы какой-то результат получили по этому регулярному выражению? Чем этот результат отличается от необходимого? В качестве примера, попробуйте написать выражение, которое ищет шаблоны которые начинаются с «c:\» и заканчиваются «.jpg». Будет у вас простейший шаблон, который выделит в тестовой строке, путь к файлу.

Ничего не получается, только если ничего не делать.

напишите, что именно получается и какой именно результат вы хотите получить?

Підписатись на коментарі