Oprogramowanie do wizualnego budowania wyrażeń regularnych?

17

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?

Wioska
źródło

Odpowiedzi:

9

Co powiesz na Visual Regexp ?

http://laurent.riesterer.free.fr/regexp/screenshot2.png

Johan
źródło
Z czego korzystasz?
enzotib,
1
Nie ja, to link bezpośrednio ze strony głównej projektu. Ale wygląda na to, że fvwm był popularny pod koniec lat 90 .: Nie krępuj się porównać z czymś takim jak ten fvwm.org/screenshots/desktops/Helmuth_Schmelzer-1366x768/... , nie mam pojęcia, jaki jest dzisiaj stan fvwm (ale jest on bardzo stabilny przed wynalezieniem kde i gnome).
Johan
1
Dekoracje okien pochodzą bezpośrednio z programu Motif, który został przeniesiony / skopiowany w innych menedżerach okien. en.wikipedia.org/wiki/Motif_Window_Manager
Arcege
4

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.

jw013
źródło
2

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:

visRegexTester to niewielka aplikacja GUI w języku Python / Tkinter, która pomaga w pisaniu wyrażeń regularnych; testowane z Python 2.7 i 3.2. W rzeczywistości jest to tylko interfejs do innych programów z linii komend: to wykorzystuje fakt, że wiele programów Unix / GNU / Linux używany jako regex procesorów w terminalu (np grep, sed, perl), mają podobną składnię wiersza poleceń w trzech Części:

(PROGRAM --ARGS) („REGEX”) (NAZWA PLIKU)

... zobacz resztę po więcej. Zrzut ekranu:

visRegexTester_01.png

sdaau
źródło
1

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:

regex UI

tcdyl
źródło
0

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ę sedjest 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ą sedjest polecenie debugowanial , które jest prostym zrzutem linii pokazującym przestrzeń wzorcową z osadzonymi znakami nowej linii pokazanymi jako \nitp.

Problem seddotyczy 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 tym sedjest 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 sedparser, aby przeanalizował mój sedkod, 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 sedkluczowym 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) ..

Peter.O
źródło
Myślę, że nie zaszkodzi, jeśli masz narzędzie do łatwego testowania i eksperymentowania. (emacs re-builder)
favadi
1
Użyłem emacs re-builderi 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 jest emacssystem 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ć.
Peter.O