Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] RegExp Chciwość kwantyfikatorów.
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


Rozmyślam teraz nad prostym przykładem, wyczytałem z pewnej książki, myślałem, że błąd w składni jakiś mają, ale w praktyce wychodzi tak jak autor pisze, ale do rzeczy.

Rzecz ma się odnośnie kwantyfikatora chciwego vs niechętnego. Sama ich definicja jest w prosta, pokazuję na przykładzie:

  1. var str = 'abbbaabbbaaabbb1234';
  2. var re1 = /.?bbb/g;
  3. console.log(str.match(re1));
  4.  


Co do tego przykładu żadnego "ale" nie mam, działa tak jak oczekiwałem, tzn w tablicy są 3 wartości takie jak powinny być, ale:

  1.  
  2. var str = 'abbbaabbbaaabbb1234';
  3. var re2 = /.*bbb/g;
  4. console.log(str.match(re2));


W tym przykładzie kwantyfikator chciwy zaczyna od całego ciągu, odejmując po kolei 1,2,3,4 natrafia w końcu na dopasowanie i ładuje w tablicę, ale na tym sprawa się kończy, przecież odejmując kolejne znaki nie powinien "złapać" jeszcze "abbbaabbb" oraz "abbb"? Wygląda na to że dopasując pierwszy fragment kończy działanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Comandeer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Nie, ale będzie tak kombinował, żeby za każdym razem pobrać jak najwięcej. Jeśli da się wszystkie dopasowania złączyć w jedno, to to zrobi.
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: 5.10.2025 - 01:20