Często muszę tworzyć wyrażenia regularne do użycia w skryptach (głównie gdy są używane w sed
), jednak okazuje się, że czasem wyrażenia regularne stają się dla mnie bardzo skomplikowane i trudne do zrozumienia i edycji. Czy jest jakieś oprogramowanie, które pozwala wizualnie utworzyć kod dla wyrażeń regularnych, które mogę następnie skopiować i wkleić do skryptu?
software-rec
regular-expression
gui
Wioska
źródło
źródło
Co powiesz na kregexpeditor
źródło
Spróbuj txt2regex i sprawdź, czy to pomoże. Nigdy nie traktowałem tego poważnie, ale wydawało mi się fajne, kiedy go wypróbowałem.
źródło
Istnieje kodos, jeśli wolisz samodzielną aplikację. Ostatnio korzystam z wizualizatorów wyrażeń regularnych online, takich jak http://debuggex.com lub http://www.regexper.com/
źródło
Nie do końca to, o co prosi OP - ale myślę, że to istotne, więc przejdę do rekomendacji dla redaktora Regex? # 549107 - Zapytaj Ubuntu :
Oto moja próba wizualnego wyrażenia regularnego GUI o nazwie
visRegexTester.py
:Ma „podgląd na żywo” („Automatyczne ponowne uruchomienie”), jeśli wpiszesz i zmienisz pole „regex”. W przeciwnym razie jest to tylko jeden plik; na początku jest napis README - oto fragment z niego:
... zobacz resztę po więcej. Zrzut ekranu:
źródło
Tak, text2re.com powinien być blisko tego, czego szukasz. Biorąc pod uwagę tekst źródłowy, możesz wybrać generowanie wyrażenia regularnego pasującego do dowolnego z podanego tekstu. Narzędzie generuje również kod do rozsiewania języków.
Interfejs konstruktora wyrażeń regularnych (krok 2 na stronie) jest nieco trudny do nauczenia; zwróć uwagę, że najechanie kursorem na dowolną opcję wyjaśnia obiekt, do którego pasujesz:
źródło
Nie jestem do końca pewien, co rozumiesz przez „wizualne tworzenie kodu” (masz na myśli narzędzie GUI?). Jeśli jesteś podobny do mnie, nie mogę pracować ze złożonymi wyrażeniami regularnymi, chyba że ułożę je w uporządkowany sposób, aby uzyskać lepszą wizualną reprezentację logiki.
Naprawdę
sed
jest tylko językiem skryptowym i można go układać tak, jak inne języki, tj. z jednym poleceniem w wierszu. Oto typowy przykład tego, co mam na myśli: regex sed pokazujący układ strukturalny .Bardzo przydatną funkcją
sed
jest polecenie debugowanial
, które jest prostym zrzutem linii pokazującym przestrzeń wzorcową z osadzonymi znakami nowej linii pokazanymi jako\n
itp.Problem
sed
dotyczy nie tylko wyrażeń regularnych. Ma funky tajemniczy zestaw poleceń do zapętlania i testowania warunków; potrzeba czasu, aby przyzwyczaić się ... Najlepszym narzędziem, jakie kiedykolwiek znalazłem, aby mi pomóc w radzeniu sobie z tymsed
jest po prostu: szczegółowo czytam instrukcję . Od tego momentu jest to tylko proces rozpoczynania od małego i uzyskiwania proste rzeczy działają; następnie buduj na większych rzeczach, aby zdobyć doświadczenie ...Wyrażenie regularne Perla ma kilka przydatnych funkcji pomagających w układaniu złożonych wzorców; na przykład. możliwość zignorowania białych znaków w twoim wyrażeniu .. (Jako wyzwanie i ze względu na doświadczenie , napisałem
sed
parser, aby przeanalizował mójsed
kod, aby pozwolić na takie białe znaki ... PS. Nie potrzebuję go teraz; z powodu doświadczenia :) Właściwie samo układanie poleceń, po jednym w wierszu, jest prawie tak dobre, jak funkcja perla.Najlepszym narzędziem, które Ci pomoże, jest: doświadczenie . na przykład. Odpowiedź na pytania regularne na tej stronie to świetny sposób na zdobycie tego doświadczenia ... Wydaje mi się, że narzędzia GUI niewiele pomagają, ponieważ hamują doświadczenie ...
Podsumowując, najlepszymi narzędziami pomocniczymi są doświadczenie i uporządkowany układ , a także przeczytaj instrukcję (szczegółowo).
Użyłem słowa „expereince”… przez to rozumiem, że
sed
kluczowym czynnikiem jest czynność przygotowania wyrażeń regularnych (aw przypadku dowolnej logiki pętli itp.). Typ „Regex-Builder” przybory; nie pisz wyrażenia regularnego dla ciebie; tylko to testują i na pewno nie poradzą sobie z logiką programu sed , ponieważ to nie jest wyrażenie regularne ... (a ty specjalnie to wyróżniłeśsed
) ... Podświetlanie składni, które mogą zaoferować, niewiele dla mnie robią . Edytor z dobrym dopasowaniem nawiasów jest jednak całkiem przydatny (używam emacsa) ..źródło
emacs re-builder
i w ogóle mi to nie pomogło ... nie pierwszy dzień ... Wszystko, co mi pokazało, to to,emacs
że potrzebuje dodatkowego odwrotnego ukośnika lub dwóch, z powodu tego, jak emacs ocenia rzeczy ... Możesz zrobić ten sam test, oceniając wyrażenie regularne za pomocąC-x C-e
.. Nie zapisuje ono wyrażenia dla Ciebie; Państwo nadal trzeba go napisać ... A potem jestemacs
system writitng regex przy użyciu słów opisowych .. (myślałem, że gadatliwy / english podobnego systemu wymarli z COBOL .. ale nawet COBOL nie jest całkowicie martwy, jeszcze) .. i regardles, ty nadal trzeba go napisać.