Wyszukiwanie i zamiana za pomocą wyrażeń regularnych jest oczywiście potężnym narzędziem dla użytkownika Emacsa, który może rutynowo wykonywać te czynności. Jednak jako początkujący Emacs (i / lub programista) należy nauczyć się i ćwiczyć wyrażenia regularne.
Czy mogę uczyć się i trenować wyrażenia regularne interaktywnie w Emacsie, podobnie jak wbudowany samouczek Emacsa? Jeśli nie, jakie są inne sugestie dotyczące wykorzystania Emacsa do ćwiczenia używania wyrażeń regularnych do wyszukiwania i zamiany?
regular-expressions
learning
Felix Z. Hoffmann
źródło
źródło
Odpowiedzi:
Poza tym
regexp-builder
możesz również rozważyć wyrażenie wizualne regexp, aby uzyskać wizualną informację zwrotną na temat trwającego zastępowania:źródło
anzu
, co robi to samo i więcej.Możesz spróbować,
M-x regexp-builder RET
który jest interaktywnym dopasowaniem wyrażeń regularnych, co nie jest złeźródło
C-g
nie wyjdzie tak, jak się spodziewasz.C-c C-q
jest domyślnym skrótem klawiszowym pozwalającym wyjść z konstruktora wyrażeń regularnych po zakończeniu ćwiczeń.Używam,
regexp-builder
który pozwala interaktywnie testować wyrażenia regularne i uzyskiwać informacje zwrotne. I oczywiście, kiedy zacząłem z tego korzystać, od razu zadałem sobie pytanie: „Jak mam nakarmić to wyrażenie regularnequery-replace-regexp
?”Odpowiedź, którą wybrałem, to następująca funkcja zdefiniowana na stronie EmacsWiki ReBuilder .
Więc mój przepływ pracy to:
M-x re-builder
M-x reb-query-replace
źródło
Może to być ogromna pomoc w nauce używania wyrażeń regularnych, aby zobaczyć, co odpowiada poszczególnym częściom wyrażeń regularnych - w szczególności grup wyrażeń regularnych. I robić to interaktywnie i przyrostowo.
Wzdłuż linii odpowiedzi @ immerr, wyszukiwanie Sople od dawna ma podobne podkreślenie .
źródło
Możesz także użyć helm-regexp, który wyświetla grupy wyrażeń osobno.
źródło
Nie w emacs, ale http://rubular.com/ jest w zasadzie
regexp-builder
z ściągawką. Możesz skonfigurować przykład i wypluć link do tego przykładu. Używam tego podczas omawiania wyrażenia regularnego z zespołem.źródło
Jako alternatywę dla Dave'a F.
regexp-builder
możesz również utworzyć dowolny tekst, aby przećwiczyć dopasowanie wzorca.Najbardziej użyteczną funkcją tego polecenia jest to, że podświetli dopasowania w buforze podczas tworzenia wzorca, aby pomóc w zapewnieniu prawidłowego dopasowania wzorca.
Użycie
(query-replace-regexp)
( C-M-%) i utworzenie wyrażenia regularnego w celu wykonania zamiany pomoże ci ćwiczyć.źródło
regexp-builder
nie są jeszcze oferowane? Problemquery-replace-regexp
polega na tym, że musisz napisać całe wyrażenie regularne, a następnie zatwierdzić je, aby dowiedzieć się, co pasuje. Jeśli nie podoba ci się wynik, musisz zacząć wszystko od nowa.regexp-builder
pokazuje mecze w locie, co ułatwia poprawianie wyrażenia regularnego, dopóki nie zadziała, jeśli nie wiesz, co robisz.query-replace-regexp
, przyzwyczaisz się do używania ich w Emacsie, w szczególności