За последние 24 часа нас посетили 17324 программиста и 1868 роботов. Сейчас ищут 1618 программистов ...

Нужна регулярка - Поставить точки перед заглавной буквой

Тема в разделе "Регулярные выражения", создана пользователем udder, 30 мар 2017.

  1. udder

    udder Новичок

    С нами с:
    13 мар 2016
    Сообщения:
    2
    Симпатии:
    0
    Всех приветствую, помогите, пожалуйста, составить регулярку для notepad++, с помощью которой можно поставить точки перед заглавной буквой.
    Например, текст: Привет, прошу помощи Нужно составить регулярное выражение.

    Сразу после слова "помощи" должна идти точка
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    @udder, попробуйте так:
    Код (Text):
    1. (?<=[а-яё])\s(?=[А-Я])
    Замена ". " (точка + пробел) и поставить галку на "Учитывать регистр"
     
    udder нравится это.
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    а как же имена собственные?
     
  4. udder

    udder Новичок

    С нами с:
    13 мар 2016
    Сообщения:
    2
    Симпатии:
    0
    @Deonis Большое Вам спасибо работает

    @TeslaFeo
    Не понял, можете с примером? Доперло, например Вы :)
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    или имя, или название.
     
  6. mstdmstd

    mstdmstd Активный пользователь

    С нами с:
    28 фев 2010
    Сообщения:
    83
    Симпатии:
    1
    Заинтересовало решение этого примера : понятно со строчным/заглавным символом. непонятно что за квалификаторы "?<=" и "?=" ?
    Как они работают - дайте плиз ссылку на их описание...
     
  7. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    @mstdmstd это группы
    Код (Text):
    1. // Простая группа с захватом.
    2. ( )
    3. /* Группа без захвата.
    4. Выражение: про(?:фессиональное|движение);
    5. Результат: Найдены оба слова.
    6. */
    7. (?: )
    8. /* Группа с положительной опережающей проверкой.
    9. Выражение: говор(?=ит);
    10. Результат: Найдено только слово "говорит" (еще нашло бы "говор").
    11. */
    12. (?= )
    13. /* Группа с положительной опережающей проверкой.
    14. Выражение: говор(?!ит);
    15. Результат: Найдено "говорю", "говори", но не "говорит".
    16. */
    17. (?! )
    18. /* Группа с положительной ретроспективной проверкой.
    19. Выражение: (?<=об)говорить;
    20. Результат: Найдено «говорить» и «обговорить», но не «уговорить».
    21. */
    22. (?<= )
    23. /* Группа с отрицательной ретроспективной проверкой.
    24. Выражение: (?<!об)говорить;
    25. Результат: Найдено «говорить» и «уговорить», но не «обговорить».
    26. */
    27. (?<! )