Убрать склеенные предложения

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

Статус темы:
Закрыта.
Модераторы: xpert13
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    375
    Симпатии:
    41
    Есть файл, в нем предложения по 1 на строку. При этом попадаются склеенные предложения.
    Т.е. мне нужно найти предложения, в которых после маленькой буквы сразу идет большая, а затем сразу маленькая (т.е. второе предложение в примере). И затем разложить эти строки по разным файлам.

    Код:
    $lines = file('text.txt');
    
    foreach($lines as $line){
    
    if (preg_match("#^(регулярка)$#i", $line))
    file_put_contents('ok.txt', $line, FILE_APPEND | LOCK_EX);
    else
    file_put_contents('err.txt', $line, FILE_APPEND | LOCK_EX);
    
    }
    Помогите с регуляркой.
     
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    245
    Симпатии:
    321
    Код:
    preg_match("/[a-z][A-Z][a-z]/", $line)
     
    verfaa нравится это.
  3. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    375
    Симпатии:
    41
    Так разве сработает? Я читаю эту регулярку как маленькая буква, затем большая, затем маленькая, т.е. она ловит только предложения из трех букв? А в моих предложениях многовукв))
     
  4. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    245
    Симпатии:
    321
    Ну так ведь там нет якоря ^ который совпадает только с началом строки.
    Так что совпадение может быть в любой части строки.
     
    verfaa нравится это.
Статус темы:
Закрыта.