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:]])")?