
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.09.2016, 20:48
|
|||
|---|---|---|---|
|
|||
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
Анализируется текст, состоящий из положительных чисел, расположенных равномерно, а конкретнее: каждое число занимает 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} Существует ли более компактное написание данного регулярного выражения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2016, 20:54
|
|||
|---|---|---|---|
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
\s*\d+ А будет ли строка 15 символов или больше/меньше - это скорее всего вообще знать не нужно, либо хватит обычного length(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2016, 20:59
|
|||
|---|---|---|---|
|
|||
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
Проблема в том, что это шаблон является частью более сложного шаблона и ловля объектов, выходящих за 15 знаков не очень приветствуется, хотя, вероятно, в 99% случаев этот шаблон сработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2016, 21:27
|
|||
|---|---|---|---|
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
Если мой хрустальный шар не врет, то у тебя строка типа: 123_____456789 И надо вытащить из нее 456? Тогда выкинь регулярки нафиг и просто разрежь строку по количеству символов. Будет и просто и надежно и быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2016, 21:43
|
|||
|---|---|---|---|
|
|||
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
Увы, дело несколько сложнее Имеем многострочный документ (точнее, разные по формату документы), имеющие свой формат, заполненный всяким мусором в виде строк заголовков, подитогов и т.п. Соответственно, надо выделить строки с данными, имеющие счетный набор описанных в начале блоков, в специфическом обрамлении, чтобы из них уже вытащить данные Поэтому, предполагалось с использованием стандартного механизма искать строки данных по составным шаблонам (выбранным из спискашаблонов для разныхтипов документов), а затем уже вытаскивать из этих срок данные по подходящему к конкретному случаю алгоритму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2016, 22:15
|
|||
|---|---|---|---|
Можно ли сделать компактнее регулярное выражение поиска числа по равномерной сетке? |
|||
|
#18+
Тогда комбинируй. Сначала прогоняешь документ через регулярку которая на основе известного "специфического обрамления" решит это вообще правильная строк или нет? И если правильная, то выдаст тот кусок из строки который содержит нужную информацию. А вторым шагом режешь найденную подстроку по координатам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&tablet=1&tid=1340595]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 465ms |

| 0 / 0 |
