(?:(?!\1))(\d)\1\b Dla stringa 888 mam full match 88, ale z tego, co rozumiem, to (?:(?!\1)) powinien eliminować ósemkę na początku i nie dać matcha. Zresztą jak zamieniam \1 na 8, to tak rzeczywiście jest. To ja już nie wiem, jak zrobić, żeby tej pierwszej grupy (w tym przypadku pojedynczej ósemki) nie brał. Rzecz w tym, że to nie muszą być ósemki, tylko dowolne cyfry.
@zwei: nie pamiętam dokładnej nazwy, ale to ma chyba związek z wyszukiwaniem wstecznym. Normalnie regex jest maszyną stanów, która przetwarza tekst tylko wprzód. Tutaj masz backmatching. Rzucam tylko wskazówkę, powinieneś znaleźć odpowiednią flagę
@zwei: To (?!...) (negative lookahead) działa w odniesieniu do aktualnej pozycji (w twoim przypadku początek), więc to nic nie robi - znaczy match będzie się opierał tylko na powtórzonych ostatnich cyfrach, bo na początku sprawdzasz czy po tym co już dopasowałeś (jeszcze nic) jest coś innego niż to co będzie następne. Dlatego też non-capture nie potrzebny, bo to nie jest nawet dopasowywany ciąg tylko założenie dotyczące tego z czym "sąsiaduje".
Środek galerii handlowej w Katowicach, psiara zabrała b--ń bez zabezpieczenia na obiadek. Mimo zwracania uwagi o kaganiec ta udawała głuchą. Zwróciłem uwagę ochroniarzowi, ale ten też tym się nie przejął.
Czy jest tu jakiś spec od regexów?
(?:(?!\1))(\d)\1\bDla stringa
888mam full match88, ale z tego, co rozumiem, to(?:(?!\1))powinien eliminować ósemkę na początku i nie dać matcha. Zresztą jak zamieniam\1na8, to tak rzeczywiście jest. To ja już nie wiem, jak zrobić, żeby tej pierwszej grupy (w tym przypadku pojedynczej ósemki) nie brał. Rzecz w tym, że to nie muszą być ósemki, tylko dowolne cyfry.Czyli ma być
888brak matcha788match444brak844match(?!...)(negative lookahead) działa w odniesieniu do aktualnej pozycji (w twoim przypadku początek), więc to nic nie robi - znaczy match będzie się opierał tylko na powtórzonych ostatnich cyfrach, bo na początku sprawdzasz czy po tym co już dopasowałeś (jeszcze nic) jest coś innego niż to co będzie następne. Dlatego też non-capture nie potrzebny, bo to nie jest nawet dopasowywany ciąg tylko założenie dotyczące tego z czym "sąsiaduje".*jest coś innego niż nic, bo jeszcze tego nie przechwyciłeś.