2016-11-06 7 views
-3

У меня есть этот путь к файлу называется:необходимо регулярное выражение для извлечения строки из конца пути к файлу

изображения/Linux/RHEL7-x64/PTSVPL/ptsvpl-ESXi-x86_64-7.20.0302.vmdk

, и я хочу извлечь строку из конца из этого, т.е. хочу строку: ptsvpl-esxi-x86_64-7.20.0302.vmdk из всей строки, пожалуйста, помогите мне в этом же.

каждый раз путь vairies и вложенные папки проходят так учат получать только строки из последних и который имеет «/» в нем после моей intented строки

ответ

0

Try:

[^\/]*$ 

Это будет соответствовать все символы, кроме слэшей, следующих за косой чертой или началом вашей строки, в случае отсутствия косых черт.

+1

На самом деле, '[^ /] * $' достаточно: вам не нужен захват группы. –

+0

Спасибо. Починил это. –

+0

Слэш не является особым символом в Tcl RE, поэтому вам не нужно его избегать. И даже если бы это было так, это не было бы особенным внутри выражения скобки. –

2

Существует команда для этого:

% file tail images/Linux/RHEL7-x64/PTSVPL/ptsvpl-esxi-x86_64-7.20.0302.vmdk 
ptsvpl-esxi-x86_64-7.20.0302.vmdk 

Документация: file

+2

Вы * можете * использовать регулярное выражение, если хотите, но использование 'file tail' более четкое и почти в два раза быстрее. –