Регулярка не находит перевод строки.



  • Регуляркой хочу из текста (тип строка в которой текст разделен абзацами)

      Подстановка строк подробно описана в следующем параграфе «Группы и диапазоны», однако здесь следует упомянуть о существовании «пассивных» групп
    - Это группы, игнорируемые при подстановке, что очень полезно, если вы хотите.
    
    Группы и диапазоны очень-очень полезны. Вероятно, проще будет начать с диапазонов. Они позволяют указать набор подходящих символов. Например, чтобы проверить, содержит ли строка шестнадцатеричные цифры (от 0 до 9 и от A до F), следует использовать такой
    
    

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

    ([\s\S]+)\n
    

    Подскажите где ошибка?
    rx.png



  • @Nikolas said in Регулярка не находит перевод строки.:

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

    У вас жадный алгоритм, по этому и берёт всё полностью





  • @Fox спасибо. получилось! вот готовая регулярка, возможно кому-то будет полезно.

    Для выше указанного примера где после абзаца строка начинается с дефиса:

    ([\s\S]+?)\n\-[\s\S]+  
    

    А вот регулярка для того чтоб взять тупо первую строку после которой идет абзац и следующая строка:

    ([\s\S]+?)\n[\s\S]+
    


  • @Nikolas said in Регулярка не находит перевод строки.:

    @Fox спасибо. получилось! вот готовая регулярка, возможно кому-то будет полезно:

    ([\s\S]+?)\n\-[\s\S]+
    

    Достаточно было убрать жадность и всё

    ([\s\S]+?)\n
    


  • @Nikolas кто то из участников форума давно написал хелпер удобный,
    https://play.google.com/store/apps/details?id=gangal.pro.regexp.helper


Log in to reply