Anonymous
Вот
Anonymous
Понял, в выходной такие вопросы задавать не вариант
Anonymous
Всём шикарных выходных
Vadim
Vadim
хотя ту особо не тыкал, да и вообще не спец по админкам
Anonymous
Друзья.
Anonymous
Как из-под ноды регулярку заводить на Unicode?
Anonymous
Кто-нибудь может сталкивался?
Anonymous
Смотрите, в чём цимес.
Anonymous
var GOOD_IRI_CHAR = "a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF";
var IRI = "[" + GOOD_IRI_CHAR + "]([" + GOOD_IRI_CHAR + "\\-]{0,61}[" + GOOD_IRI_CHAR + "]){0,1}";
var HOST_NAME = "(" + IRI + "\\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,63}";
var IP_ADDRESS = "((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9]))";
var DOMAIN_NAME = "(" + HOST_NAME + "|" + IP_ADDRESS + ")";
var WEB_URL = "((?:(http|https|Http|Https|rtsp|Rtsp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?(?:" + DOMAIN_NAME + ")(?:\\:\\d{1,5})?)(\\/(?:(?:[" + GOOD_IRI_CHAR + "\\;\\/\\?\\:\\@\\&\\=\\#\\~\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?(?:\\b|$)";
Anonymous
Пришло время определять ссылки, ссылки сами себя не определят.
Anonymous
В регулярке есть Unicode-символы.
Anonymous
Если создать новый RegExp с флажком u (как по идее нужно), то он ругается на левые символы.
Anonymous
Что довольно логично, кажется, но если запускать без u, то домены вроде сосать.хуй - не определяются.
Anonymous
В том числе китайские домены ну и остальные.
Anonymous
Если кто-то сталкивался с похожей проблемой - подскажите решение.
Дима
var GOOD_IRI_CHAR = "a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF";
var IRI = "[" + GOOD_IRI_CHAR + "]([" + GOOD_IRI_CHAR + "\\-]{0,61}[" + GOOD_IRI_CHAR + "]){0,1}";
var HOST_NAME = "(" + IRI + "\\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,63}";
var IP_ADDRESS = "((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9]))";
var DOMAIN_NAME = "(" + HOST_NAME + "|" + IP_ADDRESS + ")";
var WEB_URL = "((?:(http|https|Http|Https|rtsp|Rtsp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?(?:" + DOMAIN_NAME + ")(?:\\:\\d{1,5})?)(\\/(?:(?:[" + GOOD_IRI_CHAR + "\\;\\/\\?\\:\\@\\&\\=\\#\\~\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?(?:\\b|$)";
Ты упоротый 😮
Попробуй решить проблему БЕЗ регэкспов, а то это жесть какая то
Дима
Как будто на китайском написано
Anonymous
Anonymous
Если у тебя есть способ определять ссылки в тексте - поделись.
Anonymous
Без http/https, все ссылки.
Anonymous
Я согласен, что регурярка длинная, но тут задача очень важная - ловить все ссылки. Это цель задачи, а не побочная фича.
Anonymous
И регулярка, к слову, работает верно.
Anonymous
У меня проблема с Unicode-символами.
Anonymous
Кириллицица, иероглифы и другие.
Anonymous
Запускаю - ругается, что регулярка не является валидной.
Anonymous
Если с флагом u.
Anonymous
А так всё ОК.
Anonymous
Я искал, как правильно это сделать, но ответов нет. Подумал, может кто-нибудь сталкивался.
Anonymous
Привет
Anonymous
на чем ботов пишите?
void *
ruby
Anonymous
Интересует Node.JS
Kirill
Anonymous
библиотеки, фреймворки
Anonymous
needle
Anonymous
Object.assign() рекурсивен? Или свойства, которые являются объектами, станут общими для старого и нового родительских объектов?
pofigizm
нет конечно, только 1 уровень будет скопирован, все остальное по ссылке.
pofigizm
да. или использовать deepCopy из _
pofigizm
можно еще JSON.parse(JSON.stringify(obj)), но с датами проблема, хотя самый быстрый.
Anonymous
Roman
сделай модуль и заэкспорти функцию mySuperUtils.deepCopy()
тогда не будет походить на костыль
Roman
а там внутри хоть stringify, хоть рекурсивный for, хоть вообще сам deepCopy из лодаша
Anonymous
Я подумал, и понял, что в моем случае мне просто нужен класс.
Anonymous
Немного элегантнее.
Arthur 🙏
Andre
Anonymous
Спс, побробую для теста telegram-node-bot
Anonymous
попробую
Anonymous
А что думаете по поводу боты это новые приложения?
Arthur 🙏
и да и нет, зависит от задачи.
Если решается простым интерфейсом - бот хорошо подходит
Anonymous
UglifyJsPlugin для webpack не понимает стрелочные функции. Как лечить?
Kot
Котяй негодяй 😍😅
Anonymous
А что ещё есть кроме Uglify?
Тенпеннай
closure compiler, не?
Anonymous
Хм. Я так понимаю, он может полностью заменить Babel?
Anonymous
closure compiler, не?
Он синтаксис ES6 модулей обработает, или понадобится webpack или browserify с babel?
Алдар
https://www.youtube.com/watch?v=4YfsAz-sNAo&list=PLqHlAwsJRxAOpWPtj2T6HhSzX-lKmKV2q
Anonymous
Anonymous
Donald
котаны, чем ща кошерно валидировать инпут? какой-нибудь плагин для jquery?
Donald
или может есть решение для форм сразу готовое?
Eugene
почаны, канвас по чему учить и где?
Anonymous
почаны, канвас по чему учить и где?
Я бы проинспектировал код какой-нибудь ~годной либы (к примеру, https://github.com/ericdrowell/KineticJS) и параллельно заглядывал в доки на том же MDN.
Vadim
всем привет. посоветуйте пожалуйста любой сборщик для морды с самым маленьким рантаймом и чтобы CommonJS модули умел :)
Vadim
суть - чем меньше рантайм, тем лучше
Vlad
морды?
Vadim
морды?
сори, вероятно у меня с фронтендерской терминологией может быть туговато :)
смотрю и по ходу browserify неплохо так смотрится со своими 415b + 25b per module + 6b per dependency
Vlad
бандлеры — вебпак/браузерифай
Vadim
а хотя судя по https://webpack.github.io/docs/comparison.html вебпак няша.
ну вот, вышло "не гугли@спрашивай"
Anonymous
Чат, а есть у кого Axure с кряком?
Dmitry
Давайте тут без такого вот
Gordey
Пакет Яровой уже наблюдает за вами
Anonymous
только не тут