2013-05-08 5 views
2

Мне нужно регулярное выражение для использования с php для очистки определенной части строки.Regex для определенной части строки

Например,

$string="an-image-name-300x200.jpg"; 

Я хочу очистить только эту часть «-300x200» строки.

Я попытался это регулярное выражение

'#\-(.*)\.#' 

но соответствует этой части строки «-изображением-имя-300x200.»

возможные строки;

$string="an-image-name-11300x200.jpg"; 
$string="an-image-x-name-300x11200.jpg"; 
$string="an-image-x-name-10x200.png"; 

Надеюсь, вы можете мне помочь. Заранее большое спасибо.

ответ

1

-\d+x\d+

Пояснение:

соответствует литералу -

соответствий \d, который является сокращением для [0-9], 1 или более раз (+)

Соответствует буквальным x

Матчи \d, который представляет собой сокращенную [0-9], 1 или более раз (+)

Это будет обмануть, если имя файла имеет более чем один «размер-как» часть имени файла. Чтобы исправить это, возьмите только последнее совпадение в имени файла.

+0

Awesome! Спасибо огромное! – user2360754

+0

@ user2360754 В качестве примечания стороны, вы должны принять ответ, который вам помог ... :) –

+1

@YogeshSuthar Просто сделал :) – user2360754

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