Globalne wyszukiwanie, wielkość znaków, wieloliniowe wejście

przez 4 współtwórców

Zaawansowane wyszukiwanie za pomocą flag

Wyrażenia regularne posiadają cztery opcjonalne flagi, które pozwalają na globalne i niezależne od wielkości znaków wyszukiwanie. Aby wskazać wyszukiwanie globalne, użyj flagi g. Aby wskazać wyszukiwanie nieczułe na wielkość znaków, użyj flagi i. Aby wskazać wyszukiwanie wieloliniowe, użyj flagi m. Aby przeprowadzić "lepkie" wyszukiwanie, które pasuje do początku obecnej pozycji w łańcuchu docelowym, użyj flagi y. Flagi te mogą być użyte oddzielnie lub razem w dowolnej kolejności i są dołączane jako część wyrażenia regularnego.

Uwaga dotycząca Firefoksa 3

Obsługa flagi y została dodana w Firefoksie 3. Użycie flagi y skutkuje niepowodzeniem, jeśli wynik nie następuje po aktualnej pozycji w łańcuchu docelowym.

Aby dołączyć flagę do wyrażenia regularnego, użyj składni:

re = /pattern/flags
re = new RegExp("pattern", ["flags"])

Zauważ że flagi są integralną częścią wyrażenia regularnego. Nie mogą być one dodane lub usunięte później.

Na przykład, re = /\w+\s/g tworzy wyrażenie regularne, które szuka jednego lub więcej znaków, po których następuje spacja, szukając tej kombinacji w całym łańcuchu znaków.

<script type="text/javascript">
 re = /\w+\s/g;
 str = "fee fi fo fum";
 myArray = str.match(re);
 document.write(myArray);
</script>

To wyświetli ["fee ", "fi ", "fo "]. W tym przykładzie możesz zamienić linię:

re = /\w+\s/g;

z:

re = new RegExp("\\w+\\s", "g");

otrzymując ten sam rezultat.

Flaga m jest używana do określenia, że wieloliniowy łańcuch wejściowy powinien być traktowany jako wiele linii. Jeśli użyta jest flaga m, ^ i $ odpowiadają za początek lub koniec z każdej linii w wejściowym łańcuchu znaków zamiast początku i końca całego łańcucha.

Autorzy i etykiety dokumentu

Contributors to this page: teoli, Mgjbot, Diablownik, Ptak82
Ostatnia aktualizacja: teoli,