forum.bitel.ru
http://forum.bitel.ru/

Помощь с regexp
http://forum.bitel.ru/viewtopic.php?f=18&t=6740
Страница 1 из 1

Автор:  aiwbend [ 02 май 2012, 15:17 ]
Заголовок сообщения:  Помощь с regexp

Есть задача сделать, чтобы при поиске договора, модуль добавлял в начало СПД-'нужное к-во нулей чтобы получилось 5 тизначное число', задается в mps.1.search.1.pattern=
Например если пришел номер 222, он искал его как СПД-00222, а если 22 то искал как СПД-00022.
Нужно условиями делать или можно как-нибудь привести в нужную значтость? И вообще реально ли так сделать регуляркой?
Прошу помочь...

Автор:  aiwbend [ 03 май 2012, 15:49 ]
Заголовок сообщения:  Re: Помощь с regexp

up

Знающие подскажите пожалуйста возможно ли реализовать мою задачу по шаблону pattern:::result.
Если нет то я регуляркой вытяну нужный идентификатор в параметр договора и буду искать по нему. Просто не хочется городить лишнего если возможно с mps.1.search.pattern=pattern:::result реализовать...

Автор:  Cromeshnic [ 04 май 2012, 06:24 ]
Заголовок сообщения:  Re: Помощь с regexp

aiwbend писал(а):
добавлял в начало СПД-'нужное к-во нулей чтобы получилось 5 тизначное число'

По-моему, нет такого. Если только несколько регулярных выражений написать для каждой значности и последовательно по ним пробегать. Но в mps вроде только одно можно.

Автор:  barguzin2 [ 04 май 2012, 07:59 ]
Заголовок сообщения:  Re: Помощь с regexp

Тут скорее всего придется пользователю вводить 5 цифр, включая лидирующие нули. Если паттерн можно описать в виде регулярного выражения от 1 до 5 цифр, то вот в резалтом здесь действительно затык.

Автор:  aiwbend [ 15 май 2012, 10:22 ]
Заголовок сообщения:  Re: Помощь с regexp

спс, успокоили )

Автор:  nafanya [ 12 июл 2012, 07:50 ]
Заголовок сообщения:  Re: Помощь с regexp

У меня проблема тоже с regexp.

Есть номера договоров например:
1/02-2010
25/07-2009
111/12-2011

где первое число номер по порядку, второе-месяц, третье-год.

По протоколу ОСМП передаю в виде 5_25072009_01, где последние два символа используем для идентификатора терминала.
В конфигурации модуля пишу такой regexp:

mps.2.search.5.pattern=\A((?:\d{2}))(\d{2})(\d{4})_(\d{2})\z:::$1/$2-$3

Так вот он не находит договор. В результате различных проб было выяснено что если в шаблоне замены стоит три переменные, то он не отрабатывает (честно говоря никаких логов найти не удалось) или отрабатывает не правильно, в любом случае пишет что договор не найден. С двумя переменными в шаблоне замены все работает отлично.
Подскажите, пожалуйста, куда копать?

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/