Niedawno siedziałem z problemem z wyrażeniem regularnym. W końcu rozwiązałem go w inny sposób, bez wyrażeń regularnych, ale nadal chciałbym wiedzieć, jak to robisz:Dopasowywanie dokładnie jednego wystąpienia w ciągu znaków z wyrażeniem regularnym
Problem polegał na tym, że aktualizowałem svn za pomocą automatycznego skryptu i chciałem wykryć konflikty. Robienie tego z lub bez użycia wyrażenia regularnego jest trywialne, ale spowodowało, że zastanawiałem się nad bardziej niejasnym problemem: w jaki sposób dopasowujesz dokładnie JEDNĄ postać w środku pola o stałej długości?
Na przykład, powiedzmy, że chcemy, aby dopasować "C" wewnątrz sześć bajtów szerokim zakresie:
"C " MATCH " C " MATCH " C C " NO MATCH " M " NO MATCH " " NO MATCH "C " NO MATCH (7 characters, not 6) " C " NO MATCH (5 characters, not 6)
+1 Tak, to też jest dobre. Ostateczne '' 'nadal jest niepotrzebne, patrz moja uwaga # 2. * (I nie, nie ma nic złego w odpowiadaniu na twoje własne pytanie.) Nie ma niebezpieczeństwa bycia podpalanym.) * – Tomalak
@tomalak, jeśli usunę ostatnie $, to zawiedzie, gdy coś innego niż C pojawi się po C, a także na wiele wystąpień C – KennethJ
Zobacz moją zmienioną odpowiedź na wstępne spojrzenie, które to naprawi. – Tomalak