Narzędzia do konserwacji mapy Regex¶
Aby wesprzeć funkcję szybkiego wyszukiwania (polecenie s / search_rules.sh), używamy skryptu pomocniczego, który automatycznie opisuje wzorce wyrażeń regularnych za pomocą przykładów zrozumiałych dla człowieka.
Dlaczego tego potrzebujemy?¶
Nasze pliki FUZZY_MAP.py zawierają złożone wyrażenia regularne. Aby umożliwić ich przeszukiwanie za pomocą wyszukiwarki rozmytej (fzf) bez konieczności rozumienia surowego wyrażenia regularnego, dodajemy komentarz # PRZYKŁAD: nad wzorcami.
Zanim: KOD_BLOKU_0
Po (wygenerowane automatycznie): KOD_BLOKU_1
Skrypt Taggera (map_tagger.py)¶
Udostępniamy skrypt w języku Python, który skanuje wszystkie pliki FUZZY_MAP.py i FUZZY_MAP_pre.py i automatycznie generuje te przykłady.
Instalacja¶
Skrypt wymaga biblioteki exrex do generowania losowych dopasowań dla złożonych wyrażeń regularnych.
KOD_BLOKU_2
Użycie¶
Uruchom skrypt z katalogu głównego projektu:
KOD_BLOKU_3
Przepływ pracy¶
Utwórz lub edytuj plik mapy (np. dodając nowe reguły).
Uruchom skrypt tagujący.
Tryb interaktywny:
Skrypt wyświetli wygenerowaną sugestię.
Naciśnij
ENTER, aby zaakceptować.Wpisz
s, aby pominąć.Wpisz
sa(pomiń wszystko), jeśli chcesz pominąć wszystkie pozostałe wzorce, których wygenerowanie nie powiodło się.
Zatwierdź zmiany.
Uwaga: Skrypt ignoruje istniejące znaczniki
# PRZYKŁAD:, więc można go bezpiecznie uruchamiać wielokrotnie.