[php] wyrażenia regularne |
[php] wyrażenia regularne |
7.03.2008, 17:06:47
Post
#1
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Chciałbym się czegoś nauczyć o wyrażeniach regularnych, przed chwilą przeczytałem wątek potreb'a i byłbym wdzięczny jakby mi to ktoś wytłumaczył
Ten preg_match ma wyłuskać to akt053322 To czego nie rouzmiem: 1. Dlaczego .+? a nie .+ 2. Co w tym przypadku oznacza []is 3. dlaczego nie ma znaczka / na końcu i na początku |
|
|
7.03.2008, 17:21:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) |
1.
znak zapytania wyłączą "chciwość". w przeciwnym razie interpeter mógłby zebrać wszystko do końca. patrz: http://pl2.php.net/manual/en/reference.pcr...n.modifiers.php i opis modifiera U (PCRE_UNGREEDY) 2. [] to delimetery w tym zapytaniu, natomiast "is" to modifiery (patrz link powyżej] 3. ponieważ "Any character can be used for delimiter as long as it's not alphanumeric or backslash (\)" (manual, pierwszy akapit na http://pl.php.net/pcre). w powyższym wyrażeniu delimiterem są []. pewnie autor chciał uniknąć konieczności wstawiania backslasha przed slashes w </a>. ze slashem jako delimiterem wyglądałoby to tak: '/<a name="(.+?)"><\/a>/is'. -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 22:38 |