Как найти слово в котором нечетное кол-во букв (регулярные выражения)

Тема в разделе "Функции поиск-замены и регулярные выражения", создана пользователем vladmoss, 10 ноя 2017.

  1. vladmoss

    vladmoss New Member Пользователи

    Регистрация:
    10 ноя 2017
    Сообщения:
    2
    Город:
    Minsk
    как найти слово в котором нечетное кол-во букв
     
  2. Dumka

    Dumka Well-Known Member Пользователи

    Регистрация:
    8 фев 2012
    Сообщения:
    121
    Если нет конкретного кол-ва символов то это уже не регуляркой а скриптиком в цикле нужно делать...
    Если есть конкретная цифра символов то как то так:
    Код:
    re:\b\w{7}\b|
     
    kagorec нравится это.
  3. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Норм такая простыня получилась)))
    Код:
    {textend}| '
    [\s\t]+| '
    re: ([A-Za-zА-Яа-я]{25}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{9}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{7}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{5}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{3}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{11}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{13}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{15}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{17}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{19}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{21}) | ~@$1@~ '
    re: ([A-Za-zА-Яа-я]{23}) | ~@$1@~ '
    '|
    --ВЫДЕРГИВАЕМ СЛОВА И ЛОЖИМ ПОСТРОЧНО--
    ~@{get}@~|{multiget}
    [​IMG]
     
    Последнее редактирование: 10 ноя 2017
    Root и Dumka нравится это.
  4. Dumka

    Dumka Well-Known Member Пользователи

    Регистрация:
    8 фев 2012
    Сообщения:
    121
    Да уж, кто как извращаться горазд :)
     
  5. vladmoss

    vladmoss New Member Пользователи

    Регистрация:
    10 ноя 2017
    Сообщения:
    2
    Город:
    Minsk
    А можете пожалуйста сказать как конкретно, для нечетного кол-во букв. И у меня нет конкретного языка.Я учусь в университете и у меня лаба по регуляркам. Мне нужно вот на этом сайте (Ссылки недоступны для гостей) просто вбивать регулярки в зависимости от задания которое дадут.Так вот,задание звучит так:найти все слова, в которых нечетное кол-во букв
     
  6. Dumka

    Dumka Well-Known Member Пользователи

    Регистрация:
    8 фев 2012
    Сообщения:
    121
    ну так вот я и написал, что одной регуляркой этого не сделать
    + вопрос еще на каком языке тексты для поиска будут задаваться
    Если латиница то
    \b - это начало или конец слова
    \w - любая буква или цифра
    Получаем так: \b\w{7}\b
    В фигурных скобках ставим сколько символов должно быть

    Для только букв латиницы \w меняем на [A-Za-z]
    Для кирилицы на [А-Яа-я]
    Если и то и то ... то выше пример был

    Попробовал на сервисе поискать по кирилице, что то не срабатывает, с латиницей все норм
    Но т.к. в регулярках нет такого понятия как четность и нечетность и она не умеет считать, то и цифру нужно указывать, соотв. одной регуляркой это сделать неполучится.
     
    Root нравится это.

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