-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
В реальных регулярках алфавит достаточно большой, но в то же время он обычно разбирается не по одной букве, а с точностью до класса эквивалентности (разбиения алфавита на подмножества, сопоставляющиеся с разными подмножествами подрегулярок).
Например,
[a-z]*ba[a-z]* - очевидно, здесь не нужно перебирать все латинские буквы, хотя алфавит их и включает. Достаточно рассмотреть три случая: очередная буква есть a, очередная буква есть b, и очередная буква - любая латинская, кроме этих двух.
То есть наш алфавит, по идее, должен представлять собой не отдельные буквы, а их множества, которые определяются структурой регулярки.
Metadata
Metadata
Assignees
Labels
No labels