Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? / 6 сообщений из 6, страница 1 из 1
29.09.2016, 20:48
    #39318146
Mike Winny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
Анализируется текст, состоящий из положительных чисел, расположенных равномерно, а конкретнее:
каждое число занимает 15 знаков начиная с конца, т.е. первые символы - пробелы (от 0 до 14 штук), а последующие символы - цифры от 1 до 15 штук.
Лобовое RX, приходящее на ум, это объединение по ИЛИ выражений вида \s{n}\d{15-n} с перебором n от 0 до 14, т.е.:
\s{14}\d{1}|\s{13}\d{2}|\s{12}\d{3}... и так далее до |d{15}
Существует ли более компактное написание данного регулярного выражения?
...
Рейтинг: 0 / 0
29.09.2016, 20:54
    #39318149
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
\s*\d+
А будет ли строка 15 символов или больше/меньше - это скорее всего вообще знать не нужно, либо хватит обычного length().
...
Рейтинг: 0 / 0
29.09.2016, 20:59
    #39318153
Mike Winny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
Проблема в том, что это шаблон является частью более сложного шаблона и ловля объектов, выходящих за 15 знаков не очень приветствуется, хотя, вероятно, в 99% случаев этот шаблон сработает
...
Рейтинг: 0 / 0
29.09.2016, 21:27
    #39318170
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
Если мой хрустальный шар не врет, то у тебя строка типа:
123_____456789
И надо вытащить из нее 456?

Тогда выкинь регулярки нафиг и просто разрежь строку по количеству символов. Будет и просто и надежно и быстро.
...
Рейтинг: 0 / 0
29.09.2016, 21:43
    #39318175
Mike Winny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
Увы, дело несколько сложнее
Имеем многострочный документ (точнее, разные по формату документы), имеющие свой формат, заполненный всяким мусором в виде строк заголовков, подитогов и т.п.
Соответственно, надо выделить строки с данными, имеющие счетный набор описанных в начале блоков, в специфическом обрамлении, чтобы из них уже вытащить данные
Поэтому, предполагалось с использованием стандартного механизма искать строки данных по составным шаблонам (выбранным из спискашаблонов для разныхтипов документов), а затем уже вытаскивать из этих срок данные по подходящему к конкретному случаю алгоритму
...
Рейтинг: 0 / 0
29.09.2016, 22:15
    #39318194
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке?
Тогда комбинируй.
Сначала прогоняешь документ через регулярку которая на основе известного "специфического обрамления" решит это вообще правильная строк или нет? И если правильная, то выдаст тот кусок из строки который содержит нужную информацию.
А вторым шагом режешь найденную подстроку по координатам.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]