Pytania dotyczące używania Regex Search & Replace w gedit

10

Próbuję użyć wtyczki Regex Search & Replace programu gedit.

  1. Chcę wyszukać cyfrę, która powtarza się 2 lub 3 razy, więc pomyślałem, że regex był

    [0-9]\{2,3\}

    Ale nie pasuje do celów, które powinien, takich jak „22”.

  2. Chcę znaleźć dokładnie słowo „Notatki”, więc pomyślałem, że tak będzie

    \<Notes\> 

    Ale to też nie działa.

  3. Jak dodać „#” przed ciągiem dowolnych trzech cyfr „[0-9] [0-9] [0-9]”? np. „123” staje się „# 123”.

Zastanawiałem się, czy popełniłem błąd? Korzystam z Basic Regex . Jakiego rodzaju Regex jest używany we wtyczce? Jak mogę dowiedzieć się, jak korzystać z tej wtyczki?

Tim
źródło

Odpowiedzi:

14

Nie powinieneś uciekać od swoich wyrażeń regularnych. Twoim pierwszym przykładem powinno być:

[0-9]{2,3}

Twoim drugim przykładem powinno być:

\bNote\b

W trzeciej sytuacji musisz dopasować elementy przed i po, a następnie użyć odwołań wstecznych:

(.*)([0-9]{3}.*)

przy czym zamiennikiem jest:

\1p\2

Aby uzyskać więcej informacji, zobacz pydoc re, co powie ci na temat składni wyrażeń regularnych Python lub dokumentacji online .

Kees Cook
źródło
1

Jak mówi Kees, wtyczka wykorzystuje Pythona remoduł składni, który również ma How-To na stronie Pythona.

Polecam także instalację i zabawę z kodosami Zainstaluj kodos .
Jest to tester wyrażeń regularnych w Pythonie (nazywa się „debuggerem”) i zawiera arkusz wyrażeń regularnych, a także krótszą wersję redokumentacji modułu.

Witryna regular-expression.info ma ładne porównanie różnych implementacji metajęzyków wyrażeń regularnych. Jest też przyzwoita sekcja dotycząca smaku pytona.

Belacqua
źródło
@igbelacqua: Dzięki! Myślę, że Kodos jest dla KDE. Jeśli mam rację, można go zainstalować na Gnome, ale nie najlepiej, jeśli istnieje inne rodzime oprogramowanie dla Gnome. Czy wiesz, jacy są tubylcy?
Tim
Hmm - Kodos ma zależności Qt, ale nie widzę aplikacji KDE per se. Używam podstawowego Ubuntu (Gnome) i nie było to nie na miejscu. Inną opcją jest kiki- jest to aplikacja python-wxgtk2.6 - nie w pełni funkcjonalna. Użyłem go, zanim znalazłem kodos. Inną opcją testera, która nie wymaga instalacji jest pythonregex.com - mówi, że został zainspirowany przez Kodos, jest czysty i użyteczny. Jest to prawdopodobnie najłatwiejszy w użyciu z tych trzech.
belacqua