Solomon Kane
Постоялец
- Регистрация
- 26 Авг 2009
- Сообщения
- 144
- Реакции
- 9
- Автор темы
- #1
Проблема такая, есть, допустим, следующая строка:
- Хорошо, - сказал я.
Если в регулярке задать просто [А-Я], то есть чтобы первый символ был строго буква от А до Я, а дальше указать ряд других условий, которые не важны в данном вопросе, то вся строка посчитается, как вхождение, кроме тире. То есть получится Хорошо, - сказал я. НО надо сделать так, чтобы при встрече - перед большой буквой, вся последующая строка игнорировалась. Проблема в том, что нельзя задать начало строки, так как она может быть гигантской. Или просто большой. Например, такой:
- Хорошо, - сказал я. Затем взял чемодан и пошёл на улицу. Там поймал такси и уехал.
Так вот в этой строке "- Хорошо, - сказал я." должно полностью проигнорироваться. В массив должны попасть только следующие две строки. Они-то на самом деле и так попадают, но попадёт и прямая речь, а её надо удалять.
Плюс ещё такой момент - как правильно задать троеточие?
Вариант типа [^{какие-то условия}] не подходит. Сильно много учитывать придётся. Как это лучше сделать? Неужели, нет конструкции типа ИЩИ СТРОГО ЭТО, то есть совпадение должно начинаться с [А-Я] и перед ними ничего не должно быть.
Ещё такой момент - как правильно задать троеточие?
- Хорошо, - сказал я.
Если в регулярке задать просто [А-Я], то есть чтобы первый символ был строго буква от А до Я, а дальше указать ряд других условий, которые не важны в данном вопросе, то вся строка посчитается, как вхождение, кроме тире. То есть получится Хорошо, - сказал я. НО надо сделать так, чтобы при встрече - перед большой буквой, вся последующая строка игнорировалась. Проблема в том, что нельзя задать начало строки, так как она может быть гигантской. Или просто большой. Например, такой:
- Хорошо, - сказал я. Затем взял чемодан и пошёл на улицу. Там поймал такси и уехал.
Так вот в этой строке "- Хорошо, - сказал я." должно полностью проигнорироваться. В массив должны попасть только следующие две строки. Они-то на самом деле и так попадают, но попадёт и прямая речь, а её надо удалять.
Плюс ещё такой момент - как правильно задать троеточие?
Вариант типа [^{какие-то условия}] не подходит. Сильно много учитывать придётся. Как это лучше сделать? Неужели, нет конструкции типа ИЩИ СТРОГО ЭТО, то есть совпадение должно начинаться с [А-Я] и перед ними ничего не должно быть.
Ещё такой момент - как правильно задать троеточие?