/ / Wyszukaj wszystkie liczby - regex, search, vim, cyfry

Wyszukaj wszystkie liczby - regex, search, vim, numbers

Chcę podświetlić wszystkie numery (nie pojedyncze cyfry!) W VIM:

  • wszystkie liczby (gdziekolwiek w dokumencie) z / bez „.” lub „,”
  • wszystkie liczby (gdziekolwiek w dokumencie) o wartości ujemnej

p.e.

8.20
8,500
-2.40
28.000.000
1000,2 etc

„.” lub „,” musi być uwzględniony w podświetleniu, jeśli w obrębie liczby.
1 lub 1. -> musi podświetlić tylko „1”
Również liczby ujemne muszą być podświetlone (w tym „-”), ale nie wtedy, gdy przed „-” znajduje się inna cyfra.

p.e. -5-6-7-8-9-10
musi podkreślić -5,6,7,8,9,10

Liczba ujemna musi być postrzegana jako negatywnaliczba, a nie jako liczba ujemna i dodatnia p.e. „-5” należy wyróżnić jako „-5”, a nie jako „-5” i „5” Powodem jest to, że kopiuję wszystkie mecze i nie chcę znaleźć dwóch meczów, w których jest tylko numer („-5”)

„--5” należy podświetlić jako wartość dodatnią „5”

Stworzyłem to wyrażenie regularne:

%(d)@<![-]*d{1,}([.,]d+)*

ale podświetla liczby ujemne dwa razy (jako liczbę ujemną i jako liczbę bez znaku „-”)

Odpowiedzi:

1 dla odpowiedzi № 1

%([0-9-]@<!-)?d[0-9,.]*

Dość dziwne wymagania, myślę, że takwszystko, o czym wspomniałeś, ale nie masz pewności co do warunku „--5” - czy to oznacza, że ​​chcesz, aby parzysta liczba znaków „-” nie pasowała? To nie robi tego.

EDYTUJ: Zaktualizowany, aby zabronić wielu - znaki przed numerem. Nie jestem pewien, czy to naprawdę to, czego chcesz - rozważ ---5 na przykład.