2013-03-27 4 views
2

Пожалуйста, помогите найти правильный шаблон следующего случаярегулярное выражение в PHP

простые строки являются:

pdf/20120102/A1_standard.pdf 
pdf/20130431/1.pdf 
pdf/20110506/abcde.pdf 
pdf/20131201/fff-01/02/12/-A1.pdf 

подстрока мне нужно, чтобы соответствовать является A1_standard.pdf, 1.pdf, ABCDE. pdf, fff-01/02/12/-A1.pdf Я пробовал ///*.pdf/ как шаблон, но кажется, что он не работает. Случай 4 сложнее, так как в имени файла есть «/», если он не может быть перенесен прямо сейчас, просто вставьте этот случай. Благодарю.

ответ

2

Попробуйте это:

$str = 'pdf/20120102/A1_standard.pdf'; 
preg_match('/(?P<file>[\w\-]+\.pdf)$/',$str,$match); 

echo "<pre>"; 
print_r($match); 

echo $match['file']; 
+0

'\ w' соответствует' -' характер? – hjpotter92

+0

@DreamEater: Да, это не так, пусть найдет решение для этого, и я обновлю –

+0

Используйте '[\ w \ -] +' вместо этого. – hjpotter92

Смежные вопросы