Модификаторы регулярных выражений

Тема в разделе "Разное", создана пользователем seva100, 16 дек 2022.

  1. seva100

    seva100 Member Пользователи

    Регистрация:
    29 мар 2018
    Сообщения:
    38
    Модификатор "i" - регистро-независимый режим.
    "gsr-imx" в этой строке модификаторов регистро-независимый режим выключен. Т.е. CD отличает прописные и заглавные буквы. Все работает нормально.
    "gsrimx" в этой строке модификаторов регистро-независимый режим включен. Т.е.
    Ожидалось, что CD перестанет различать прописные и заглавные буквы. Однако для
    регулярных выражений: "Скорость входящего" и "скорость входящего" для текста "Скорость входящего соединения …" результат отрицательный.
    Т.е. если указан модификатор "i" CD работает неожидаемо.
    Или я, что то напутал.
    CD v.11.1.0000373
     
  2. seva100

    seva100 Member Пользователи

    Регистрация:
    29 мар 2018
    Сообщения:
    38
    Отвечу сам себе.
    В настройках программы (Ctrl+8), на вкладке RegExpr, указывается строка модификаторов регулярных выражений, которая должна влиять на обработку всех регулярных выражений в проекте. Однако, выявлено неожиданное поведение программы. Модификатор "i" без предшествующего минуса ломает логику работы с регулярными выражениями, о чем написано выше.
    Как временное решение данной проблемы предлагается следующее.
    В настройках программы строку модификаторов оставить по умолчанию. А именно: ""gsr-imx". И в каждой строке списка регулярных выражений, перед каждым регулярным выражением написать конструкцию: "(?i)" (без кавычек).
     
    Root нравится это.

Поделиться этой страницей