Регулярные выражения простыми словами. Часть 3

Разработчики делятся на три типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой; тех, кто все еще боится их и всячески избегает; и тех, кто уже прочитал первую и вторую части этой серии статей и полон оптимизма разобраться с этими магическими письменами. Эта статья специально для третьих, чтобы обратно их напугать, ведь в этой части мы рассмотрим одну из самых сложных, но в буквальном смысле захватывающих тем.

https://habr.com/ru/companies/selectel/articles/922694/

#selctel #regex #regexp #регулярные_выражения #oarticle

Регулярные выражения простыми словами. Часть 3

Разработчики делятся на три типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой; тех, кто все еще боится их и всячески избегает; и тех, кто уже прочитал первую...

Хабр

Shout-out to https://rubular.com for being a very helpful and reliable tool for more than 15 years.

#rubular #ruby #regexp #devtools

Rubular

Ruby-based regular expression editor/tester

#SpamBlocker vient d’apparaître sur #FDroid, il permet de bloquer les spams téléphonique et SMS. Comme c'est passé à un rythme de plusieurs appels de bots par jours, c'est du pain bénit.

La page du wiki donne directement la #regexp parfaite pour bloquer tous les numéros spameurs pour la #France métropolitaine et DOM-Tom, comme le gouvernement est incapable de les bloquer:
^(?:33|0)?(?:162|163|270|271|377|378|424|425|568|569|948|949)\d{6}$

https://f-droid.org/fr/packages/spam.blocker/

Regex Workflow Templates

Android Call/SMS blocker. Contribute to aj3423/SpamBlocker development by creating an account on GitHub.

GitHub

It's good to know your tools and some regular expressions.

Just sayin'

#RegExp

✨ Nouveau post :

L'essentiel sur les expressions régulières en JavaScript

https://kalvn.net/blog/l-essentiel-sur-les-expressions-regulieres-en-javascript/

#JavaScript #RegExp #regex

L'essentiel sur les expressions régulières en JavaScript

Les différentes façons d'utiliser les expressions régulières en JavaScript.

#Mastodon #MastodonTools

В общем, раз у нас нет алгоритмической ленты, то ее стоит придумать. Ибо советы типа «ищите интересное в глобалке» работают хреново без статистики. Поэтому, просматривая бота @rur, который на моем сервере и «делает» глобалку, ставил лайки всем подряд всем сколько-нибудь зацепившим постам.

Потом сел думать, что с этим делать. Запросил архив, загрузил в MARL - Mastodon Archive Reader Lite, очень хороший просмотрщик слоноархива прямо в бравузере, помимо прочего показывает ваши лайки в пригодном для парсинга формате (в .json лежат тупо URL'ы постов). Правда, это касается только Mastodon-инстансов, посты с других площадок, к сожалению, остались безымянными, т.к. не включают username в URL (ну, #Pixelfed вроде можно разобрать, но попозже).

Дальше интересно, кстати, было. Поскольку я не погромист, у меня были F12, #Notepad++, #Excel и подозрение, что придется виброкодить. #ChatGPT на запрос #REGEXP'а выродила нечто с виду рабочее, но не в Notepad++. Извинялась, потом пыталась брехать и менсплейнила настройки, но... Не судьба. #Grok справился с первой попытки и еще подсказал, что в Excel #статистика удобно подбвается через «сводную таблицу», буду знать.

В общем, подписался на всех, кого лайкал 2+ раз и добавил их в отдельный список. И туда же — тех, кто часто лайкает/бустит меня, это можно посмотреть через сервис MastoMetrics, тоже полезная штука. Потом убрал лишних ботов вроде «лисичка каждый час», и вот смотрю, что получилось.

На первый взгляд, много англоязычного (и мунспика), бустов (в списках их нельзя вырубить, в отличие от домашки) и в целом «кто все эти люди?», но вроде же так и должна выглядеть алгоритмическая лента, не? 😉

GitHub - s427/MARL: Mastodon Archive Reader Lite - a lightweight single-page app to explore the contents of your Mastodon archive file

Mastodon Archive Reader Lite - a lightweight single-page app to explore the contents of your Mastodon archive file - s427/MARL

GitHub

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!
regex101: build, test, and debug regex

Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.

regex101
For the past week, I locked my Asian Pop and Asian Drama Bluesky custom Feeds to only match Pacific Asian languages (CJK + ASEAN) to curb the noise coming from European languages. The #GoLang #RegExp engine lacks #Unicode support, hence the noise. 1/n
Bluesky

Bluesky Social