Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wytłumaczenie wyrażenia regularnego
wiciu010
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

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


Cześć,

Mam problem ze zrozumieniem poniższego zapisu wyrażenia regularne w java script:
Kod
var toReplace = new RegExp("(\\(?)22(\\))?([-. ]?)648([-. ]?)41([-. ]?)98","g");


Próbuję przetestować na stronie https://regex101.com/#javascript

Ale otrzymuję błąd przy (?)

Cytat
(? Invalid group structure
) Unmatched parenthesis


Zostawiając zapis:
Kod
var toReplace = new RegExp("(\\?22(\\))?([-. ]?)648([-. ]?)41([-. ]?)98","g");

Dostaję informację, że jest ok.

Próbuję zrobić test czy
Kod
226484198
spełnia warunek i się okazuje, że nie, ponieważ nie "łapie się" 22.

Co więc oznacza zapis:
Kod
(\\(?)22(\\))?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




\ przywraca pierwotne znacznie znakom specjalnym
() nawiasy grupujące wyrażenie
? 0 lub 1 poprzedzających znaków/wyrażeń
\? - pierwszy znak "\" może wystąpić raz lub wcale

Może lepiej napisz, co chcesz osiągnąć...


--------------------
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 Aktualny czas: 22.08.2025 - 01:44