vak: (Default)
[personal profile] vak
Народ предлагает новый язык rulex для регулярных выражений. Старый язык regex уже достал: в нём никто ничего не понимает. :)

Новый язык гораздо более дружественный для человека. В нём незначащие пробелы, есть комментарии и переменные. Пример с переменными:
let operator = '+' | '-' | '*' | '/';
let number = '-'? [digit]+;

number (operator number)*
Ещё один пример: проверка паролей. Вот регулярное выражение, проверяющее, что в строке есть как минимум одна большая буква, одна маленькая, одна цифра, один знак препинания и всего не меньше восьми символов. Попробуйте разобраться.
^(?=[\S\s]*?\d)(?=[\S\s]*?\p{Ll})(?=[\S\s]*?\p{Lu})(?=[\S\s]*?[\pP\pS])[\S\s]{8}
То же самое на новом языке rulex:
<%
(>> [cp]* [digit])
(>> [cp]* [Ll])
(>> [cp]* [Lu])
(>> [cp]* [P S])
[cp]{8}
Введение в язык: introduction

Полное описание языка: rulex-rs.github.io/docs
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org