#0
by greemodineser
Есть большая строка (~1мБ), её хотелось бы порезать на части, считая, что нужные подстроки разделены тремя идущими подряд символами - "')," Конечно, можно воспользоваться специальными функциями, которые есть в конфигурациях, но будем считать, что я знаю толк в извращениях и мне позарез нужно сделать это именно с помощью регулярных выражений. Проще говоря, как на регэкспах закодить условие: "последовательность любых символов, не включающая в себя "')," (именно в таком порядке) и сразу за которой идут эти самые "'),". Если тут пробегают спецы по регулярным выражениям буду рад их помощи.
#4
by greemodineser
А-а-а-а-а!!! Вы, товарищ земляк, мою самооценку под плинтус запихали. Я уже два дня над проблемой парюсь, а вы так небрежно... ) Спасибо, одним словом. Я пытался то же самое, но без "?", безуспешно, разумеется. Какую он тут роль играет, и почему не работает без него, никак не пойму? Как это понимать, "ноль, либо одно повторение (ведь это означает "?") нуля или больше повторений любых символов"? ) Не укладывается в голове соседство ".*" и "?".
#5
by Кириллка
. - любые символы .* - последовательность любыбых символов, которых может и не быть .*?'), - последовательность любыбых символов, которых может и не быть, гд поиск заканчивается на первом найденном "'),", т.е. ленивый квантор. Без ? будет искать до последней последовательности "'),".
#6
by greemodineser
Цитата с msdn.microsoft.com: ? - Match zero or one occurrences. Equivalent to {0,1}. "as?b" matches "ab" or "a b". Правильно ли я понимаю, что именно совместное использование *? приводит к "ленивости", а в остальных случаях "?" работает как написано выше?
#7
by Кириллка
Не объяснил? :) Это фича такая. Есть жадные ("*", "+") и ленивый ("*?", "+?") кванторы. Жадные ищут самые длиные последовательности.
#9
by greemodineser
Все, теперь объяснил. Просто я читал на msdn.microsoft.com, а там про ленивые кванторы ничего не видел. И сейчас пытался увязать в мозгу свое понимание "*" с пониманием "?", не подозревая, что это один совместный квантор. Еще раз огромное спасибо.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- При открытии Дока, переход на последнюю строку в табличной части дока
- Как скопировать строку в табличной части документа ?
- Как в эксель строку из цифер выгрузить как строку, а не число?
- Avi-шка 4,5 Гб... Чем из нее сделать DVD или чем ее порезать?
- КАк при нажатии на строку в ТЗ добавить эту строку в Табличную часть докуме
- Скопировать одну строку ТЗ в другую строку ТЗ
- Найти в Табличной части строку и отпозиционировать на ней фокус
- А как длинную строку с кучей кавычек в строку преобразовать?
- Как удалить первую строку в табличной части документа??
- Порезать РС Соответствие объектов для обмена
- Как удалить строку в табличной части документа?
- v7: Как в 7.7 скопировать строку ТЗ в строку документа?
В этой группе 1С
- Motorola Droid собирает кубик Рубика
- Рассылка почты через yandex... Ошибка "Время ожидания операции чтения истекло."
- v8: Выгрузка запроса из SQL в .txt
- Перемещение и ордера на товары объясните
- СКД. Как создать макет для группировки?
- Восстановить *.db
- Учет разных ставок НДС в бухгалтерском учете.
- ККС магазин
- Ошибка при печати кода ITF14
- Контролировать число дней задолженности в Договоре контрагента УТ
- УТ: Отчет комиссионера, отриц. вознаграждение
- Как создать в таблице значений колонку всех ссылочных и примитивных типов
- Учет времени работы по проектам, ошибок, доработок
- 1с Управление Торговлей Получить значение свойства объекта
- Разработал программу для автоматизации перемещений товаров
- Узнать, что файл на FTP уже закачан
- POST запрос и текст
- 8.2 не записывает в регистр сведений
- Разовые начисления в ЗУП
- Как подключить денежный ящик напрямую к компьютеру?