Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyrazenia regularne
ello
post 29.08.2009, 15:35:49
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2009

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


Witam


Mam pewien ciag ktory zawiera liczbe albo cyfre w nawiasach (zawsze na koncu) np.

fdfdffdfdf(78)
fdfdf77gf7(5)

jak wydobyc ta liczbe , korzystam z eregi('^\(+[0-9]?[0-9]+$\)' ,$g,$number); ale wyciaga z nawiasami ( choc nie zawasze lapie sie ten pierwszy - nie wiem czemu )

ma ktos pomysl jak to rozwiazac questionmark.gif
Go to the top of the page
+Quote Post
Joachim Peters
post 29.08.2009, 15:50:59
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Zobacz czy to działa
  1. <?php
  2.  
  3. $text = 'ds321va(24)';
  4. preg_match('/(.*)\(([0-9]+)\)/', $text, $matches);
  5. echo print_r($matches);
  6.  
  7. ?>
Go to the top of the page
+Quote Post
ello
post 29.08.2009, 16:07:24
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2009

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


dziala - wielkie dzieki
Go to the top of the page
+Quote Post
ultra_18
post 29.08.2009, 18:44:25
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 30.10.2008

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


Tu masz jeszcze 2 szybsze rozwiązania jak byś potrzebował zaoszczędzić na szybkości:
  1. $text = 'ds321va(24)';
  2. preg_match('/(?<=\()\d+(?=\))/', $text, $matches);
  3. echo print_r($matches);
  4.  
  5.  
  6. $text = 'ds321va(28)';
  7. preg_match('/^(?>\w+)\((\d+\))$/', $text, $matches);
  8. echo print_r($matches);


1. Wynajduje w tablicy tylko interesujący ciąg a 2. dopasowuje atomowo z atomową szybkością
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.05.2024 - 03:45