Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne
szajens
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


Witam,
próbuje sobie przypomnieć jak to było z wyrażeniami regularnymi i nie rozumiem dlaczego przechwytuje mi w taki sposób.

Kod:
  1. $foo = 'aa.aa.aa.aa.aaa.a.b.b.bb.b.b';
  2. $result[1] = preg_match('/^([a]{2}[\.])*([a-z\.]*)$/', $foo, $result[0]);
  3. echo '<pre>';
  4. print_r($result);

wynik:
  1. (
  2. [0] => Array
  3. (
  4. [0] => aa.aa.aa.aa.aaa.a.b.b.bb.b.b
  5. [1] => aa.
  6. [2] => aaa.a.b.b.bb.b.b
  7. )
  8.  
  9. [1] => 1
  10. )


dlaczego muszę dodać nawiasy
kod:
  1. preg_match('/^(([a]{2}[\.])*)([a-z\.]*)$/', $foo, $result[0]);

do przechwytywania aby uzyskać efekt:
  1. (
  2. [0] => Array
  3. (
  4. [0] => aa.aa.aa.aa.aaa.a.b.b.bb.b.b
  5. [1] => aa.aa.aa.aa.
  6. [2] => aa.
  7. [3] => aaa.a.b.b.bb.b.b
  8. )
  9.  
  10. [1] => 1
  11. )


przecież mam 0 lub więcej razy ([a]{2}[\.])*
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 04:49