Entry tags:
Выражайтесь регулярнее, господа!
Народ предлагает новый язык rulex для регулярных выражений. Старый язык regex уже достал: в нём никто ничего не понимает. :)
Новый язык гораздо более дружественный для человека. В нём незначащие пробелы, есть комментарии и переменные. Пример с переменными:
Полное описание языка: rulex-rs.github.io/docs
Новый язык гораздо более дружественный для человека. В нём незначащие пробелы, есть комментарии и переменные. Пример с переменными:
Ещё один пример: проверка паролей. Вот регулярное выражение, проверяющее, что в строке есть как минимум одна большая буква, одна маленькая, одна цифра, один знак препинания и всего не меньше восьми символов. Попробуйте разобраться.let operator = '+' | '-' | '*' | '/';
let number = '-'? [digit]+;
number (operator number)*
То же самое на новом языке rulex:^(?=[\S\s]*?\d)(?=[\S\s]*?\p{Ll})(?=[\S\s]*?\p{Lu})(?=[\S\s]*?[\pP\pS])[\S\s]{8}
Введение в язык: introduction<%
(>> [cp]* [digit])
(>> [cp]* [Ll])
(>> [cp]* [Lu])
(>> [cp]* [P S])
[cp]{8}
Полное описание языка: rulex-rs.github.io/docs
no subject
Ха, имеет смысл. На перле когда-то регулярки можно было писать вполне нормальные (с комментариями) - но то перл.
А этот же должен в регулярку и компилироваться.
no subject
no subject
Регулярка интерпретируется везде, и в джаве, и в шелле, и в джаваскрипте.
no subject
no subject
no subject
no subject
no subject
Новая строка для проверки пароля?
Кстати нюанс, с новой строкой, в перл также регулируется модификатором.
Я о том, что сравнение необъективное.
no subject
no subject
no subject
потому как регекспы идеологически не совпадают ни с декларативными, ни с функциональными йазыками и с сиквелом тоже и моск должен переключацца каждый раз заново и помнить что все эти бэкслэши значат
ну и всякие L и S тоже по хорошему надо заменить на [upper] [lower] [special], чо место жалеть
и добавить предикат [exists] который находит N паттернов и вываливаецца, ну и булеву логику
((>> [exists] [digit] [3]) &
(>> [exists] [upper]) &
(>> [exists] [lower] [2])) |
((>> [exists] [special]) &
[count>=]{8})
no subject
Есть же разница между регулярными языками и контекстно-свободными. Какая еще булева логика, какие предикаты...
no subject
no subject
Если скобки добавить, то язык будет нерегулярный.
no subject
no subject
no subject
no subject
no subject