To jest przykład ciąg:Jak ustawić część dopasowania do wyrażenia regularnego jako opcję opcjonalną?
123456#p654321
Obecnie używam ten mecz, aby uchwycić 123456
i 654321
w dwóch różnych grup:
([0-9].*)#p([0-9].*)
Ale okazjach #p654321
częścią łańcucha nie będzie tam, więc będę chciał uchwycić tylko pierwszą grupę. Próbowałem uczynić drugą grupę "opcjonalną", dodając do niej ?
, która działa, ale tylko pod warunkiem, że na końcu pozostałego ciągu znajduje się #p
.
Jaki byłby najlepszy sposób rozwiązania tego problemu?
Próbowałem tego wcześniej, i to działa jednak, jeśli istnieje druga część napisu następnie pierwsza grupa jest cały ciąg, i nic nie jest w druga grupa. – user1447941
Kropka w reg-ex powoduje problem. Zobacz moją wersję. –
A teraz druga grupa to '# p654321'. Widać, że jest to część dopasowania grupowego. – user1447941