It's good to know your tools and some regular expressions.
Just sayin'
✨ Nouveau post :
L'essentiel sur les expressions régulières en JavaScript
https://kalvn.net/blog/l-essentiel-sur-les-expressions-regulieres-en-javascript/
В общем, раз у нас нет алгоритмической ленты, то ее стоит придумать. Ибо советы типа «ищите интересное в глобалке» работают хреново без статистики. Поэтому, просматривая бота @rur, который на моем сервере и «делает» глобалку, ставил лайки всем подряд всем сколько-нибудь зацепившим постам.
Потом сел думать, что с этим делать. Запросил архив, загрузил в MARL - Mastodon Archive Reader Lite, очень хороший просмотрщик слоноархива прямо в бравузере, помимо прочего показывает ваши лайки в пригодном для парсинга формате (в .json лежат тупо URL'ы постов). Правда, это касается только Mastodon-инстансов, посты с других площадок, к сожалению, остались безымянными, т.к. не включают username в URL (ну, #Pixelfed вроде можно разобрать, но попозже).
Дальше интересно, кстати, было. Поскольку я не погромист, у меня были F12, #Notepad++, #Excel и подозрение, что придется виброкодить. #ChatGPT на запрос #REGEXP'а выродила нечто с виду рабочее, но не в Notepad++. Извинялась, потом пыталась брехать и менсплейнила настройки, но... Не судьба. #Grok справился с первой попытки и еще подсказал, что в Excel #статистика удобно подбвается через «сводную таблицу», буду знать.
В общем, подписался на всех, кого лайкал 2+ раз и добавил их в отдельный список. И туда же — тех, кто часто лайкает/бустит меня, это можно посмотреть через сервис MastoMetrics, тоже полезная штука. Потом убрал лишних ботов вроде «лисичка каждый час», и вот смотрю, что получилось.
На первый взгляд, много англоязычного (и мунспика), бустов (в списках их нельзя вырубить, в отличие от домашки) и в целом «кто все эти люди?», но вроде же так и должна выглядеть алгоритмическая лента, не? 😉
Mikäs helvetin bait and switch tämä on?
Firefoxin js-konsoli "ennustaa" etukäteen, että testin tulos on `true` (mikä on oikein), mutta kun sen suorittaa, tulos onkin `false`.
Node antaa tulokseksi `true`. Samoin Chromiumin konsoli.
Itse asiassa, kun "ennustusta" pyytää uudelleen ja uudelleen, se antaa vuorotellen `true` ja `false`. Ja suorituksen vastaus riippuu siitä, kumpi ennustus on ollut viimeisimpänä.
Eli: Firefoxin konsolissa RegExpin test() ei ole luotettava.
#javascript #regexp
Just going through the logs of my own mail server (Thanks, @mwl !) to extend my #postfix #fail2ban #regexp to ban hosts with too many unsuccesful login attempts. Knowing the user name pattern (example.com only letters, others with at least one dot) I came up with
'warning: .*\[<HOST>\]: SASL LOGIN authentication failed: .*sasl_username=<F-USER>(?:[^.]*@(?!example\.com)|[^.]*\.[^.]*@(?:example\.com))</F-USER>'
This works great.
I'm a fan of regular expressions and use them since many, many (sigh...) years. But TIL about https://regex101.com/ that even explains a #regexp to you which simplifies error search a lot.
Thank you for this tool!
Whoever uses #regex should know about this invaluable tool:
I consider myself a regex expert, and still every now and then I have cases which I can't figure out myself. This tool has never let me down so far... You can of course configure it to operate according to most of the important #regexp "flavors"...
В #Notepad++ используется движок регулярных выражений Boost, который по умолчанию не учитывает регистр символов. Поэтому выражение [A-ZА-ЯЁ]
в нем может ловить и строчные буквы.
Чтобы Notepad++ искал только заглавные буквы, нужно тыкнуть кыржик С учетом регистра (Match case).
После этого [A-ZА-ЯЁ]
будет работать корректно.
Чтобы регистр учитывался всегда, можно попробовать хитрый трюк:
(?-i)[A-ZА-ЯЁ]
Здесь (?-i)
отключает игнорирование регистра, если вдруг оно включено.
#TFW #regexp в 6 строчек, написанный #ChatGPT, парсит #Markdown более лучше ①, чем тысячи строк #Redcarpet ② под капотом у #GlitchSoc 😔
Коротко про regexp в Go
Привет, Хабр! Сегодня рассмотрим regexp — стандартный пакет Go для работы с регулярными выражениями. Если вы уже пользовались регулярками в других языках (например, Python, JavaScript или Perl), то знаете, как они могут нагружать процессор и вызывать некоторые подвисания. Основное отличие Go — он использует движок RE2 , который не поддерживает бэктрекинг. Это значит, что он работает за линейное время и не устроит сюрпризов в виде зависшего сервера.
A relire : Avoir une explication d'une regex dans Visual Studio Code avec Regexp Explain
https://blog.shevarezo.fr/post/2021/10/14/explication-regex-visual-studio-code-regexp-explain
Cambiar atributos de imágenes en WordPress https://lineadecodigo.com/wordpress/cambiar-atributos-de-imagenes-en-wordpress/ por @victor_cuervo #wordpress #php #regexp #images #class
Un outil de remplacement de texte qui semble avoir une ergonomie un peu plus confortable que sed https://github.com/c0stya/trre #commandline #regexp #opensource
Just had to rename a bunch of files underscore-separated timestamps, and did a Python gist to facilitate this task to myself in the future.
https://gist.github.com/juandesant/16c337e15a87f430c3ab8483ffa0506d
#Python #FileOperations #FileRenaming #RenamingFiles #OsRename #OsListdir #ReSub #RegularExpressions #RegEx #RegExp #RegExSubstitution