2011-08-10 10 views
5

Zastanawiam się, czy istnieje DSL (język specyficzny dla domeny) do pisania wyrażeń regularnych? Znam "niewielu" ludzi, którzy faktycznie potrafią czytać i rozumieć regularną ekspresję i wydaje się, że abstrakcja językowa, która "kompiluje" do wyrażeń regularnych, byłaby niesamowitą wygraną, jeśli taka istnieje. Dzięki!Czy istnieje DSL do pisania wyrażeń regularnych?

+3

Inna perspektywa: spójrz na wyrażenia regularne jako "DSL" w przypadku zwykłych automatów. – miku

+0

Wyrażenia regularne to już język specyficzny dla danej domeny - język dla wyrażeń do analizowania. Może nie być bardzo przyjazny dla ludzi, ale jest językiem dla bardzo specyficznej domeny. –

Odpowiedz

3

Nie podałeś swojej platformy, ale zakładając C# na podstawie innych tagów, możesz spojrzeć na LINQ to Regex. Nie jestem pewien, czy to naprawdę dobry pomysł, ale jest to najbliżej, o jakim słyszałem.

0

PEGs są znacznie bardziej czytelne (i mocniejsze) alternatywnie do wyrażeń regularnych. Jeśli szukasz czegoś semantycznie równoważnego z normalnymi wyrażeń regularnych, wtedy każda implementacja, która pozwala na komentarze i białe spacje, byłaby wystarczająca.

Powiązane problemy