[Russian] Русский язык и регулярные выражения

Как можно жить без регулярных выражений? Неужели кто-то умеет обходиться без них?

В тексте нужно найти: "еврейская мама" или "у еврейской мамы" или "еврейская мать".

Делаем: "еврейск.{3,10}ма". (Пределы у меня приблизительны, само собой.)

Или нужно найти: "зеленый театр" или "в зеленом театре" или "из зеленого театра".

Делаем: "зелен.{1,5}театр". (Тут тоже приблизительно.)

"Смена обстановки", "сменить обстановку", "я сменил обстановку", "нужно сменить обстановку", "смена обстановки".

Делаем: "смен.{1,5}обстановк"

Разные варианты написания "Михайловский собор", "Мих. собор", "Михайл.собор": "Мих.{1,15}собор".

"Общага №4", "общежитие #4", "в общаге номер 4": "общ.{3,15}4".

TL;DR: два слова на русском языке со всеми окончаниями/склонениями/падежами, и при этом недалеко друг от друга.

О том, как лучше учить regexp-ы (на англ.)

Еще: ищем "провокац..." или "провоцир...": "прово(цир|кац)".

"Конфорка" или "комфорка"? "ко(м|н)форка".

А если кто-то (вроде меня) ошибочно пишет то "обходится", то "обходиться", и нужно найти оба варианта: "обходить?ся" или "обходит.?ся". Или: "съезд", "сьезд" или "с'езд": "с.езд".

Как правильно писать --- "не искренне"? Или "неискренне"? И сколько букв "н"? Может быть вы и знаете, как правильно, но всегда есть масса текстов с ошибками. Ищем так: "не ?искренн?е".

Как только не пишут этот термин: "пауэрбанк", "повэр бэнк", "повер-банк". Ищем: "п(а|о)(в|у)(е|э)р( |\-)?б(а|э)нк".

"Габриелла", "Габриэла": "Габри(е|э)лл?а".

Разные варианты написания Sennheiser: "сенн?х(е|а)йзер".

"Виктор Цой", "В.Цой", "у В.Цоя": "В.{1,6}Цо(й|я)".

Юзая регэкспы я так ищу что мне нужно в русскоязычных текстах, в т.ч. в худ.лите.

В качестве домашнего задания, можете отрендерить эти регулярные выражения для наглядности, как я делал это тут.

(the post first published at 20240413.)


List of my other blog posts.

Subscribe to my news feed,

Yes, I know about these lousy Disqus ads. Please use adblocker. I would consider to subscribe to 'pro' version of Disqus if the signal/noise ratio in comments would be good enough.