Andrey
не, у меня без лебедей вроде, что-то типа язык С++. А со слоном - годная, хотя ее тут и ругают (хотя что тут не ругают?)
Vasiliy
страуструпа перед сном хорошо читать, засыпаешь мгновенно
Andrey
да таких много книг. я одно время от теории категорий засыпал отлично 😂
Dmitry
tagsoup прикольный. но очень тормозной. на порядок тормознее xml-lens или как там его.
Alexander
хз, вроде быстро работал, зависит от того как парсер писать
Anonymous
Ребят вы в регулярках тут шарите?
Anonymous
есть немного, но я не знаю хаскел.
Anonymous
Есть текст, надо найти в нем слова, но слова могут отделяться не только пробелом, но и например '-' или '/'. И мало того надо чтобы если слово длиннее заданного количества символов (например 7) то оно должно разделиться на два матча (или несколько, в общем частями по n-символов).
Anonymous
Я пытался вот так сделать, но неправильно работает https://regex101.com/r/WmZxwp/6
Vasiliy
так - и / разделяют слова или являются частью слова?
Anonymous
> то оно должно разделиться на два матча (или несколько, в общем частями по n-символов).
а если не кратно N ?
Anonymous
так - и / разделяют слова или являются частью слова?
Одновременно и разделяют слова и являются их частью. 😀 Такая вот муть... Т.е. вот например есть дата "29/11/2009" и ограничение в 8 символов, должно получится два матча "29/11/" и "2009", а сейчас получается "29/11/20" и "09"
Anonymous
Vasiliy
ужс
Vasiliy
я думаю, проще забить на регекспы и написать нормальный человеческий код
Aragaer
а, \w не матчит эти символы
Anonymous
Пытался и кодом и регулярками, но пока никак...
Aragaer
если в этом смысле
Vasiliy
да ладно
Vasiliy
разбил по пробелам, сгруппировал по 7 символов, разбил по /, что тут сложного?
Vasiliy
тупо, но зато просто и понятно
Vasiliy
а за регексп ты себя будешь ненавидеть в тот самый момент, когда решишь что-то в нём поменять
Anonymous
29/11/2009 а разве не на три части должно разделяться 29 11 2009? т.е. как вообще получается "29/11/" и "2009"?
Aragaer
я не понял, что требуется сделать 8)
Anonymous
Anonymous
значит должно быть так 29/11/2009
Anonymous
Anonymous
не пытайя все сделать за один раз...
Anonymous
Они тоже учитываются в длине
Anonymous
... найди длинные слова, и обработай отдельно.
Anonymous
... а иначе выйдет очень сложно, если вообще выйдет.
Anonymous
Ну да, возможно попробую пропустить через эту свою регулярку и потом еще в коде обработать дополнительно.
Зигохистоморфный
а если Parsecoм?
Aragaer
повторите условие задачи пожалуйста
Aragaer
а то я пропустил
Aragaer
\w{1,6}\>|\w{7}
Aragaer
что-то в таком духе должно прокатить
Anonymous
Попытайся поделить строки на категории, например — даты, имена, Н\Д, и т.п. А потом отдельно их и разбирай.
Anonymous
Anonymous
Есть текст, надо найти в нем слова, но слова могут отделяться не только пробелом, но и например '-' или '/'. И мало того надо чтобы если слово длиннее заданного количества символов (например 7) то оно должно разделиться на два матча (или несколько, в общем частями по n-символов).
Anonymous
Aragaer
да
Aragaer
\w{1,6}\>|\w{7}
Aragaer
вот такой регексп не катит?
Aragaer
то есть от 1 до 6 альфанумерик символов и потом разделитель слова, либо же ровно 7 символов
Anonymous
Я же приводил свою регулярку
Anonymous
https://regex101.com/r/WmZxwp/6
Aragaer
чот оно странно работает
Aragaer
а, оно почему-то не считает окончание слова на русском языке за \b
Aragaer
https://regex101.com/r/WmZxwp/7 - вот. Выглядит жутко, но вроде оно
Aragaer
а
Aragaer
https://regex101.com/r/WmZxwp/8 - так?
Aragaer
или на символы / и - должно кончаться?
Anonymous
тебе слово Константин нужно разбить ра две части Констан и тин ?
Anonymous
Anonymous
Aragaer
1,6 это значит от 1 до 6, как можно больше
Vasiliy
от одного до шести символов, если после них нет ещё одного символа, иначе семь
Anonymous
Vasiliy
> "29/11/2009" должно разбиться на "29/11/" и "2009"
вот это полный фарш
Anonymous
сложно 😀
Anonymous
Aragaer
ну это чуть сложнее, да
Aragaer
или даже не чуть
Aragaer
12345/7 на что надо разбивать?
Aragaer
ну просто надо ли писать так - если после 7 символов идет еще одна буква-цифра, то тогда надо было брать только до последнего минуса или слэша
Vasiliy
наверное, проще будет воспользоваться тем, что в датах есть /, а в фамилиях его быть не может
Anonymous
Aragaer
https://regex101.com/r/WmZxwp/9 - во какой капец
Aragaer
да, надо просто написать простенький парсер, который будет по символу считывать и менять состояние стейт машины
Anonymous
Или нет, пардон перепутал. Это для номеров там 8 символов, для дат и ФИО одинаково 7.
Aragaer
ну то есть конечно можно после этого воспользоваться тем, что регекспы тоже имеют стейт машину...