Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
sadistic_son
Witam,
Potrzebuję pomocy w ułożeniu regexp bo w tym nigdy nie byłem mocny.
Mam setkę nazw typu:
Kod
Untitled_034_Untitled_009998_045.jpg
Untitdeede_0034_056a.jpg
_0009_087.jpg
U_667898______0123h.jpg
_01a.jpg

Potrzebuję usunąć wszystko co przed ostatnim podkreślnikiem, czyli aby dla powyższych zostało:
Kod
045.jpg
056a.jpg
087.jpg
0123h.jpg
01a.jpg

Oczywiście ilość podkreślników jak i znaków między nimi jest zmienna. Ilość znaków po ostatnim podkreślniku też jest zmienna.
Jakieś pomysły?

Dzięki.
Damonsson
[APACHE] pobierz, plaintext
  1. /_([^_]*)$/
[APACHE] pobierz, plaintext
sadistic_son
Blisko, bardzo blisko. To zostawia wszystko co miało zostać usunięte a usuwa to co miało zostać. Jak to, że tak powiem, odwrócić?
Damonsson
  1. $x = 'Untitled_034_Untitled_009998_045.jpg';
  2. preg_match("/_([^_]*)$/", $x, $y);
  3. echo $y[1];
  4. // wynik: 045.jpg


Czy ja coś źle zrozumiałem?
sadistic_son
Zrozumiałeś dobrze. Przyznam się, że to wyrażenie nie jest mi potrzebne w PHP tylko w Total Commanderze, w narzędziu do zmiany nazw wielu plików. I tam Twoje wyrażenie działa "na odwrót". Masz może ten programik? smile.gif
Damonsson
To co oszukujesz z TAGiem tongue.gif

Może tak w takim razie?

Kod
(.*)_
sadistic_son
Stary, rządzisz i wymiatasz exclamation.gif
Wielkie KUDOS biggrin.gif
A po polsku... Dzięki smile.gif

Cytat(Damonsson @ 14.04.2014, 13:17:34 ) *
To co oszukujesz z TAGiem tongue.gif
A bo to forum PHP a nie TC wink.gif


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.