Wyrażenia regularne stosuje się do ciągów tekstów posiadajacych pewną regularność. Zatem do walidacji pól, danych otrzymanych od użytkownika nadają się wyśmienicie.
Do czego jeszcze:
- do plików CSV jeśli mamy określoną liczbę pól (oczywiście wystarczy tutaj explode() ale są tą teksty regularne więc zastosowanie preg_match też jest poprawne)
- do struktur ze znacznikami (XML,HTML itp) w niektórych przypadkach gdy prawdziwe jest założenie o regularności
- do wielu wielu innych rzeczy gdzie mamy do czynienia z tekstami regularnymi...
Oczywiście wielu z nas próbuje zastępować preg_matche (bo to najłatwiejsze) na inne metody, będące bardziej wydajne. Trzeba się jednak zastanowić i może nawet sprawdzić czy zawsze druga metoda jest wydajniejsza od preg_matchy ... Wcale bym się nie zdziwił gdyby pomysł autora tematu z wykorzystaniem DOM był o wiele mniej wydajny dla masy wyszukiwań w HTML/XML

Z kolei przy sprawdzaniu na przykład czy string zaczyna się od "coś" wystarczy dać strpos() zamiast preg_match('/^coś/si') itd... Zatem IMHO używanie preg_match jak i innych technik jest poprawne tam gdzie jest wydajne i daje zamierzony efekt
Tak więc podsumowując - programowanie i język jest dla programistów... robimy tak by było wydajnie i wygodnie dla nas. Więc jest pełna dowolność (oczywiście z zachowaniem rozwagi) w wyborze techniki/techonologii.
Osobiście często używam zarówno preg_matchy jak i kombinacji strpos'a, czy DOM'a - ale zależnie od potrzeby

P.S. Jeśli się naprawdę dobrze zna wyrażenia i XPath'y to debuging kodu wcale nie jest aż tak skomplikowany - choć faktycznie przy "rozmytym" kodzie jest nieco prościej

Cytat
Chodzi o wygodę, nie wydajność - zawsze myślałem że PHP jest jęyzkiem dla wygodnickich
Ciekawe podejście do tematu programowania... Musze to powiedzieć mojemu CEO przy jednym z projektów przygotowywanym na gigantyczny ruch...

- Czemu ta strona ładuje się w 10 sekund?
- Bo tak mi było wygodniej...