Sasha
и все же, как это записать на луа?
Snusmumriken
Хорошо. Какая задача? ))
Snusmumriken
Хм, надо вкурить в "нормальные регекспы", потому что там чот много местячковой фигни. Ненужной, конечно, но вдруг придётся чужое разбирать.
Snusmumriken
Мм. Ну переводи ))
Sasha
??
Sasha
я же попросил помочь перевести, так как луашные реги не знаю
Snusmumriken
Ну, я помог ))
Это всё таки вот это: (.+)\r\n
Snusmumriken
Полный эквивалент (\s|\S)+ — (.+), потому что, простите, тут совершенно любые символы.
Snusmumriken
И в целом, эквивалент (?=\r\n) — \r\n.
Snusmumriken
Даёшь пример того, на чём применяешь, и того что хочешь получить на выходе.
Snusmumriken
То есть, без последнего перевода строки?
Sasha
да
Snusmumriken
(.*)[\r\n]*
Snusmumriken
И вот это вот (\s|\S)+ — совершенно бессмысленная конструкция. Она не нужна. Её не нужно переводить, точнее, нужно сократить. Она и в обычных регулярках сокращается до .+.
Sasha
Snusmumriken
Highly Likely
Емнип, офк
Snusmumriken
Sasha
(.*)[\r\n]*
string = [[qwe
123
]]
result = string:match("
(.*)[\n]*
")
Так?
Snusmumriken
Highly Likely
Окей, значит память подвела
Snusmumriken
Sasha
Sasha
Получается в луа точка включает в себя перенос строки?
Snusmumriken
Да. И везде включает.
Snusmumriken
За исключением какого-то странного режима регулярок в некоторых отдельных ЯП, который "только по отдельным строкам".
Считай что в общем оно глобальное. Глобальный любой символ (ascii-октет).
Snusmumriken
Если ты где-то встретил точку, которая не включает в себя перевод строки — это кастомщина. Это значит что в данном языке или в данных регулярках кто-то накастомил поведение НЕ по умолчанию.
Snusmumriken
Sasha
Snusmumriken
В некоторых реализациях. Кастомщина.
Snusmumriken
Надо попросить дядю Пашу ввести админские заметки об участниках в чатах. Я же всё забуду.
fgntfg
fgntfg
там или куча пробелов, или куча не-пробелов.
fgntfg
надо проверить, но я уже в пижаме
Highly Likely
Highly Likely
А не каша
fgntfg
(\s|\S) - пробел или не пробел.
+ значит что повторятся ноль или больше раз
Snusmumriken
Всё таки каша: (\s|\S)+ то есть (\s|\S)(\s|\S)?(\s|\S)?...
Highly Likely
Ну, да, я не успел это дописать. Регулярка разворачивается вот в это
Highly Likely
А не в \s\s\s\s\s или \S\S\S\S\S
Snusmumriken
Вот "(\s+|\S+)" было бы уже "либо/либо", да.
fgntfg
или изначально регэксп кривой, или есть какой-то подвох
Snusmumriken
Он изначально кривой. Костыль для того чтобы любой системой воспринималось вместе с переводами строки, потому что точка, в некоторых кастомных системах, не включает в себя перевод строки.
fgntfg
костыль?
Snusmumriken
Да.
fgntfg
попахивает javascriptом
Snusmumriken
С тем же успехом можно было \w|\W использовать.
Highly Likely
А можно просто срезать последний перевод строки, если только это и нужно)))
Highly Likely
И никаких регулярок не нужно))
Snusmumriken
Типа, итерируем по символам с конца и ищем перевод строки, а потом обрезаем по нему?
Highly Likely
Highly Likely
Он в любом случае будет где-то одним из последних символов
Highly Likely
А, да
Highly Likely
Ты прав
Snusmumriken
Теория множеств, блин
Попов
Здравствуйте, подскажите, как cUrl подключить система ubuntu
поставил apt install lua-curl
но пытаюсь подключить в скрипт local cURL = require "cUrl" он его не находит, luacurl пробовал и lua-curl тоже нифига
Попов
а все, вроде скомпилировал
Попов
Не могу понять как POST запрос выполнить
lua: 1.lua:3: attempt to call field 'easy' (a nil value)
stack traceback:
1.lua:3: in main chunk
[C]: in ?
Попов
Где вообще смотреть методы этих модулей, в интернете написано curl, юзай easy и юзай setopt_ парам но lua орет что таких методов нету
Arslan
Alexey
https://github.com/Lua-cURL/Lua-cURLv3
Но с докой - как всегда не очень
Но том в принципе маппинг достаточно прямолинейный и можно смотреть доку на libcurl
Попов
c:setopt(curl.OPT_POSTFIELDS, '{username: "' .. username .. '"}")
подскажите как сконкатинировать
Попов
ошибку выдает
Попов
жесть никогда на lua не писал, пытаюсь сделать модуль авторизации для prosody im в jitsi. Работаю в первый раз, начальник озадачил пзц.. мучаюсь
Arslan
Попов