Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] preg_replace
Forum PHP.pl > Forum > Przedszkole
piotrekkr
witam mam problem a wlasciwie nie wiem po co w tym wyrazeniu ten znak zapytania :
Cytat
#\[b\](.*?)\[/b\]#si
. wie ktos co on zmienia przeciez gwiazdka pobierze wszystko pomiedzy to po co tam jeszcze znak zapytania??
Vogel
*? (lazy star) - Repeats the previous item zero or more times. Lazy, so the engine first attempts to skip the previous item, before trying permutations with ever increasing matches of the preceding item.

google.com -> regular expressions -> pierwszy wynik -> references
Athlan
może wytłumaczę... kropka w wyrażeniach regularnych odpowiada kazdemu znakowi, w połączeniu ze znakiem zapytania daje to, że dowolny znak może się pojawić w dowolnej ilości, np:

jsdkcbdcvdjkscsdkvc - dowolna litera pojawiła się N razy

jasne ? smile.gif
siemakuba
Cytat(Athlan @ 3.07.2006, 17:57 ) *
może wytłumaczę... kropka w wyrażeniach regularnych odpowiada kazdemu znakowi, w połączeniu ze znakiem zapytania daje to, że dowolny znak może się pojawić w dowolnej ilości, np:

Nie do końca tak.
- Kropka owszem, pasuje do każdego znaku (domyślnie nie pasuje do znaku nowej lini).
- Gwiazdka (*) mówi, że stojący przed nią znak lub token (tu: kropka = dowolny znak) wystąpi 0 lub więcej razy.
- Sam znak zapytania stojący za tokenem (znak, kropka) oznacza że dany token wystąpi 0 lub 1 raz.
- znak zapytania stojący za gwiazdką oznacza, że gwiazdka nie ma być "chciwa" (quantifier minimizer)

tu napisane wszystko: http://pl2.php.net/manual/pl/reference.pcr...tern.syntax.php

pozdr.
piotrekkr
dzieki wielkie juz rozumiem. widze ze sie troche roznia od perlowskich te wyrazenia. pozdro
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.