2009-05-26 12 views
36

Czy ktoś ma dobry link do strony internetowej lub dobre narzędzie do tworzenia wyrażeń regularnych, zamiast łamać głowę, aby je utworzyć. Narzędzie powinno być w stanie tworzyć wyrażenia regularne, po prostu wybierając jakiś tekst wzoru. Na przykład, jeśli chcę zweryfikować numer telefonu, powinienem móc wprowadzić (000) - (111) - (1111) lub 000-000-0000 lub 000-0000000 , a narzędzie shold automatycznie wygeneruje wyrażenie regularne.Każde dobre oprogramowanie do tworzenia wyrażeń regularnych lub narzędzia online do tworzenia wyrażeń regularnych

Odpowiedz

40

Tutaj jest dobrym narzędziem regex online: www.gskinner.com/RegExr/

+5

Uważam, że jeden bardzo ograniczający. I to jest okropne, ponieważ kradnie skupienie i nie możesz się od niego oderwać. Czy ktoś ma kodować zamiennik? –

+0

Używam też: D – TheCrazyProfessor

5

Expresso ma program budujący GUI regex.
ale polecam oddanie trochę czasu i nauki wyrażeń regularnych - będziesz w stanie tworzyć wyrażenia znacznie szybciej niż z pomocnikiem-builder-GUI

EDIT: Ale to nadal nie będzie czytać w twoich myślach. Musisz zbudować kawałek regex po fragmencie .. w tym miejscu chcę 3 cyfry, a następnie - i tak dalej ... Nie można zgadnąć, że potrzebujesz numeru telefonu z pasującym ciągiem znaków

+0

Jestem właściwie doświadczonym programistą. To, co chcę zrobić, to udostępnić to niektórym użytkownikom. Mamy OGROMNY zestaw danych i będą korzystać z "grep-like" znajdzie na nim, ale nie są tak technicznie skłonni, myśli na ten temat? –

+0

@Jorge - Wyrażenie regularne to DSL do wyszukiwania tekstu. Może na jego podstawie można zbudować własny język. Sprawdź, jakie rodzaje wyszukiwań są typowe dla Twoich użytkowników końcowych, a następnie pomóż im za pośrednictwem aplikacji generującej właściwy reg-exp. na przykład jeśli rutynowo wykonują "pokaż mi wszystkie linie zaczynające się od ERROR!" - możesz dać im aplikację, która ma menu/polecenie "Wyszukaj wiersze zaczynające się od ...", poproś ich, aby wpisali podłańcuch np. BŁĄD! i kliknij Znajdź. Za kulisami wykonujesz /^ERROR!(.*)/ i drukujesz pierwszą grupę. Zawiń wszystkie powszechnie używane wyszukiwania w ten sposób. – Gishu

+0

Problem, który widzę z tym podejściem, polega na tym, że budujesz język na innym języku, a potencjał do wkręcania jest bardzo wysoki. –

8

Tworzenie wyrażeń regularnych bez użycia any Wskazówki na ich temat nie działają. Ale możesz skorzystać z oprogramowania, które pomaga je tworzyć. Słyszałem, że regexbuddy powinno być całkiem dobre.

EDIT

Powody tworzenia Wyrażenia regularne z dowolnych ciągów nie mogą pracować można znaleźć w odpowiedzi na this question

+1

Jestem fanem Regex Buddy! Dość tanie i całkiem przydatne! – geoffc

+1

Nie jestem. Przyznam, że widziałem tylko jeden przykład jego użycia, ale wygenerowane przez niego wyrażenie było wręcz ohydne - przynajmniej dwa razy dłuższe niż rozwiązania, które wymyślili ludzie. RegexBuddy może być tani, ale nauka korzystania z wyrażeń regularnych jest bezpłatna, a wiedza jest bezcenna. –

+0

To jest absolutnie poprawne, automatycznie generowane wyrażenia regularne należy traktować tak, jak każdy automatycznie wygenerowany kod: tani rozwój, złe środowisko uruchomieniowe. – soulmerge

1

ludzki mózg stworzy lepsze i bardziej czytelne regexes niż jakikolwiek RegexBuddy. Niezależnie od tego, ile to oprogramowanie może pomóc rozwijać się szybciej regexes, istnieje kilka problemów będziesz mieć z tych regexes:

  1. Pewnie wyglądają dość straszne i egzekwować ideę regexes jako zapisem tylko.
  2. Prawdopodobnie będą nieefektywne i stosują dziwne/niepotrzebne rozwiązania.
  3. Nie zrozumiesz, co się dzieje w regexie, co oznacza, że ​​będziesz programistą z dziedziny ładunków.

W końcu, nauka wyrażeń regularnych pozwoli Ci lepiej programista - będziesz w stanie odczytać kodu innych ludzi i zrozumieć to, co robi, jak również jest w stanie pisać własne regexes w locie, co zwykle będzie szybsze niż zatrzymanie procesu kodowania, przejście do jakiegoś zewnętrznego programu, wymyślenie listy przypadków testowych, które powinny zakończyć się niepowodzeniem, a następnie skopiowanie i wklejenie powstałego regexu do kodu bez wiedzy o tym, co robi.

+1

Jakiś powód do odrzucenia mojej rady, która została powtórzona w słabszym sensie w połowie opublikowanych odpowiedzi?Lub po prostu szalony, że nie zalecam szybkiej naprawy braku wiedzy na temat regex? –

+1

+1 za doskonały sen. – Josh

+2

Po prostu mówiąc "Użyj swojego mózgu" nie ma odpowiedzi. –

3

Jestem także fanem RegexBuddy, ale jeśli pracujesz przy napiętym budżecie, możesz również użyć narzędzia open source (i bezpłatnego) o nazwie Kodos. Został pierwotnie zaprojektowany do debugowania i tworzenia wyrażeń regularnych dla Pythona, ale można go używać do sprawdzania poprawności dowolnego wyrażenia regularnego.

Oczywiście nadal będzie polegać na tym, że faktycznie wiesz, jak skonstruować wyrażenie regularne, ale przynajmniej możesz go użyć do sprawdzenia poprawności lub sprawdzenia, co masz.

+0

Czy istnieje reguła, że ​​użytkownicy SO pod określonym przedstawicielem nie mogą dodawać hiperłączy? Jeśli tak, to niedorzeczne. W każdym razie, dodałem link dla ciebie. Jest przycisk, który ma globus i strzałę. Kliknij na to i wprowadź adres URL, do którego ma prowadzić link. Da ci to coś w stylu "[] [1]" i przypis "[1] URL". Umieść tekst linku pomiędzy pierwszym "[]". Możesz teraz przejrzeć swój wpis i zobaczyć, jak to się robi. –

+0

Tak, musi być. Miałem tam wcześniej link, ale kiedy próbowałem go przesłać, wyskakująca wiadomość powiedziała mi, że nowi użytkownicy nie mogą mieć hiperłączy, więc usunąłem go ponownie. Dzięki za edycję! –

3

The Regex Coach pomogło mi wiele - obsługuje prawie wszystkie zawiłości wyrażeń regularnych; widzisz w czasie rzeczywistym, jak twoje modyfikacje działają na strunie; ma również graficzną reprezentację drzewa analizy.

1

Podoba mi się podświetlanie i dodatkowa funkcjonalność w RegexPal. Jest to darmowe narzędzie internetowe, do którego szybkie odwołanie jest łatwo dostępne. Na samym dole zauważysz, że zalecają RegexBuddy dla większej mocy, ale nadal będziesz w stanie znaleźć funkcję RegexBuddy w aplikacji internetowej.

3

Jeśli używasz Eclipse, to Regex Util autorstwa Sergeya Evdokimova to czysta przyjemność. Znajduje się dokładnie w twoim IDE, więc nie stracisz go i zapewnia natychmiastową informację zwrotną o meczach. Następnie wykonuje wszystkie operacje ucieczki/cofania, gdy kopiujesz i wklejasz je do swojego kodu.

+0

HI Zainstalowałem wtyczkę dla INtelliJ, ale nie mogę znaleźć sposobu jej wywoływania. Jak wywołać tę wtyczkę w INtellij, Czy masz jakiś pomysł? – Anirudh

37

Używam Rubular. To nie tylko dla Ruby.

+2

Dobra w końcu !! – chugh97

+2

Zaznaczony tym. Potrzebowałem prostego regexu i mam małą wiedzę, żeby nie powiedzieć nic. Za kilka minut zrobiłem ten edytor i jego "szybkie referencje". – Jla

+0

Dzięki za link - w końcu poczułem się jak coś, co RegEx'ie dla mnie pracował;) – Chau

4

Musisz dać próbkę refiddle.com. Ich testy korpusowe ułatwiają projektowanie wzorców dla znanego zestawu danych. Możesz przetestować wyrażenia ruby, .NET i JavaScript.

3

wolę korzystania www.txt2re.com

Mają kilka dobrych części dla tworzenia regex składni dla wielu języków.

Mam nadzieję, że komuś pomogę :)

Powiązane problemy