[regexp][java] Преобразования регэкспов в человекочитабельный формат
Берешь пустую строку и дописываешь в неё рекурсивно либо точку, либо звездочку. Если проходит регэксп - выдаёшь пользователю как пример.
Как понять, когда закачивать рекурсию?
Ещё вот примерчик нашёл:
\d{1,10}-\d{1,10}-\d{1,170}(-\d{1,10})?
Вообще что-то хз, как его информативно отобразить. =/
Это в таком формате некоторые(не будем тыкать пальцем) хранят телефон.
Это на альфу центавру чоле?
d{1,170}
E.164 соотносится.
Короче придётся распарсивать с конечным набором стейтментов.
я хз, как это с Короче придётся распарсивать с конечным набором стейтментов.
их там так много этих регэкспов? Нельзя ручками примеры подобрать?
Дофига. Но если темплейтами мерять, то штук 50наверное выйдет всего лишь. Причём 90% из них \d{N} или \d{N1,N2} или \d{N1}|\d{N2} с различными N. Но в любом случае у меня нет желания сюда ещё хотя бы раз в ближайшие 100500лет залезать. Так что лучше написать чтобы оно в общем случае работало и забить на ближайшие N лет.
если выражения однообразные и несложные, то можно попробовать хранить их не в виде строк, а в виде каких-нить структур, из которых легко и однозначно можно сгенерить и regexp и человеческое описание
о, бл, мне бы сейчас придумать такие структуры под все ипотечные программы
придумай, чо
у меня мозгов не хватит, я ж в банке только недавно
Не, так не получится. Как понять, когда закачивать рекурсию?Как только наберёшь N = 5-10 примеров, очевидно.
а в банке чо, мозги дают? или на что ты надеешься?
Спаибо кэп, но это рестрикты на поля в xsd.
Оставить комментарий
kill-still
Как бы преобразовывать простые регэкспы в человекочитабельную маску так, чтобы самому неизобретать велосипедписать парсер? Например есть такой регэксп (выбрал самый сложный):\d{2}\.\d{1,2})|(\.\d{2}\.\d{1,2}?
выдать что-нибудь в духе
**
**.*
**.**
**.**.*
**.**.**
чтобы юзверю было понятно, как ему надо правильно заполнять поле?