• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Wyrażenia regularne] Powtórzenie wzorca

0 głosów
236 wizyt
pytanie zadane 19 grudnia 2017 w C i C++ przez niezalogowany

Czy jest jakiś sposób żeby napisać krótsze wyrażenie regularne gdy chcę żeby wzorzec się powtarzał?

Np. mam taki wzorzec

^\\word ([[:alpha:]]([[:alpha:]] ?(;|,|\/)? ?)*[[:alpha:]]) \\tr \1 

i takie dopasowanie

\word murder / murderer \tr murder / murderer 

\1 oznacza to samo co grupa 1 (DOKŁADNIE to samo) 

A mi zależy na tym żeby mieć ten sam WZORZEC co grupa 1

 

Czyli mam taki wzorzec

^\\word ([[:alpha:]]([[:alpha:]] ?(;|,|\/)? ?)*[[:alpha:]]) \\tr ([[:alpha:]]([[:alpha:]] ?(;|,|\/)? ?)*[[:alpha:]]) 

i chcę żeby mi dopasowało takie wyrażenie

\word murder / murderer
\tr zamordowac; morderstwo / morderca

ale chciałbym żeby ten mój wzorzec jakoś skrócić bo powtarza się w nim ten sam długi fragment

([[:alpha:]]([[:alpha:]] ?(;|,|\/)? ?)*[[:alpha:]])

Jest jakiś sposób na to? Czy muszę tworzyc takie długie wzorce albo tworzyć tymczasową zmienną string("([[:alpha:]]([[:alpha:]] ?(;|,|\/)? ?)*[[:alpha:]])")?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 948 wizyt
pytanie zadane 10 czerwca 2023 w JavaScript przez andrzej.polak Nowicjusz (220 p.)
0 głosów
1 odpowiedź 543 wizyt
pytanie zadane 9 stycznia 2022 w Matematyka, fizyka, logika przez dark41 Użytkownik (760 p.)
0 głosów
1 odpowiedź 1,031 wizyt
pytanie zadane 15 października 2020 w Java przez amtrax Dyskutant (9,630 p.)

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...