Conversation

𝙹𝚘𝚑𝚊𝚗

В ++ используется движок регулярных выражений Boost, который по умолчанию не учитывает регистр символов. Поэтому выражение [A-ZА-ЯЁ] в нем может ловить и строчные буквы.

Чтобы Notepad++ искал только заглавные буквы, нужно тыкнуть кыржик С учетом регистра (Match case).

После этого [A-ZА-ЯЁ] будет работать корректно.

Чтобы регистр учитывался всегда, можно попробовать хитрый трюк:

(?-i)[A-ZА-ЯЁ]

Здесь (?-i) отключает игнорирование регистра, если вдруг оно включено.

1
1
0

@johan я восхищаюсь людьми, которые до сих пор используют notepad++. Это словно смотреть за фигурным онанизмом японских столяров в эпоху, когда придуманы не только гвозди, но и разнообразнейший крепеж. У этих людей нет цели, есть только путь.

1
0
0

@azzz Критикуя — предлагай.

1
0
0

@johan Неужели в 2025-м году еще нужно что-то рассказывать про vscode и его опенсорс аналоги аля codioum?

1
0
0

@azzz А нахуя козе баян vscode не-погромисту для редактирования рандомных текстиков? 🤔

2
0
0

@johan
Если человек знает о регекспах то нахера ему редактор который их настолько криво поддерживает?
@azzz

2
0
0

@sign @azzz Как будто они в единственной реализации существуют 😉 Ты, наверно, просто не видел, как это в M$ Word реализовано 😲

1
0
0

@johan боже, я уже забыл о его существовании)

@azzz

1
0
0

@sign ладони тоже вспотели, да? 🤣
@johan @azzz

1
0
0

@AncientGood @sign @azzz
Олсо, в ЛибреОфисе так же. И вообще:

Флаги вида (?-i), (?i), (?m) и другие inline-модификаторы описаны в стандарте Perl Compatible Regular Expressions (PCRE). Этот стандарт задаёт расширенный синтаксис регулярных выражений, используемый во многих языках программирования и инструментах.

Основные стандарты, поддерживающие inline-флаги:
  1. PCRE (Perl-Compatible Regular Expressions)
    • Введён в Perl и используется в языках C, PHP, Python (через re с ограничениями), Java, .NET, Rust.
    • Поддерживает (?i), (?-i), (?m), (?s) и другие модификаторы.
  2. ECMAScript (JavaScript RegExp)
    • Поддерживает флаги i, m, s, u, y, но inline-флаги внутри выражений ((?-i)) не работают.
    • Управлять флагами можно только при создании RegExp:
      jslet regex = /abc/i;
  3. POSIX Regular Expressions
    • Не поддерживает inline-флаги ((?i), (?-i)) внутри выражения.
    • Управление регистрами зависит от локали (LC_CTYPE).
  4. .NET Regular Expressions (System.Text.RegularExpressions)
    • Основаны на PCRE и поддерживают inline-флаги ((?i), (?-i), (?m), и т. д.).
  5. Java (Pattern API)
    • Поддерживает inline-флаги PCRE, например:javaPattern pattern = Pattern.compile("(?i)abc");
1
0
0

@johan а я, кстати, ничего против изначального синтаксиса не имел, возможно это статистическое решение и большинству нормальных людей регистр не важен вообще, а для редких случаев можно ключик использовать. Меня вот less очень напрягал в своё время обратным, там всегда надо было искать как "[Сс]лово"

Я просто вспомнил как оно было в ворде редактировать, чуток изменил тексти и поплыла вся развёртка.. бррррр.. хорошо что мне сейчас кроме .org и .txt ничего и не надо

@sign @azzz

1
0
0

@AncientGood @sign @azzz

как оно было в ворде редактировать, чуток изменил тексти и поплыла вся развёртка

...Если верстать руками, а не жопой, то там достаточно опций для создания грамотно сверстанного документа (ну, по офисным стандартам). То, что никто не умеет — другой вопрос.

0
0
0

Несерьёзный Выдумщик

@sign только жаба-скриптовых блядей корёжит с PCRE (Perl-Compatible Regular Expressions), который является стандартом для RegExp’ов в целой куче стандартных библиотек: С++ (Boost), Java, C#/.net

потому что только ебанько из JavaScript-мира и надрачивают на ECMAScript-вариацию.

@johan @azzz

1
0
0

Несерьёзный Выдумщик

@johan правильно мыслишь. у меня почти целый день vscode/vscodium/uncoded открыты. а вот тексты рандомные правлю или в Kate или в LibreOffice.

а всякие Mardown-документы с заметками в Obsidian или аналогах, т.к. у нас много документации и заметок валяется на GitLab (его аналоге). откидываясь в репозитории с коллективным доступом после вызревания в локальных-индивидуальных базах знаний.

@azzz

0
0
0

@grumb ты хочешь сказать что в pcre 'a' будет матчится как [A-Z] ?

@johan @azzz

1
0
0

Несерьёзный Выдумщик

@sign не утомляй людей, сходи тихонько поиграйся сам https://www.regextester.com/

если не нравится эта, то подобных онлай-песочниц с PCRE более чем с избытком.

на крайняк свою оффлайновую собери из любого подходящего языка программирования.

@johan @azzz

1
0
0

@grumb столько написать, но так и не ответить на бинарный вопрос... ; )

@johan @azzz

1
0
0

Несерьёзный Выдумщик

@sign

зачем? пусть очередная скриптоблядь в твоём лице учится сама добывать знания и ответы.

@johan @azzz

1
0
0

@grumb а ты смешной)

покажи же мне, великий гуру, как ты заставишь pcre матчить 'a' в [A-Z]' не передав флаг ignorecase?

@johan @azzz

1
0
0

Несерьёзный Выдумщик

@sign

ткнуть пальцем? ну так покажи программный код на C++, Java, C# в котором ты используешь RegEx-библиотеку :)

@johan @azzz

0
0
0