|
Как регулярным выражением привести серию паспорта РФ к одному виду? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
31.07.13
✎
11:49
|
Использую ВК v8: Регулярные выражения в v82
от orefkov есть возможность с помощью только рег выражений привести строку серии к единообразному виду т.е. преобразовать строку например: 78/02 78-02 78 02 7802 7898902 надо привести к 7802 |
|||
1
Помогите
31.07.13
✎
11:51
|
Можно. Только что за 7898902?
|
|||
2
RomaH
naïve
31.07.13
✎
11:56
|
(1) это 78любыесимволы02
|
|||
3
RomaH
naïve
31.07.13
✎
11:56
|
(1) как?
|
|||
4
orefkov
31.07.13
✎
11:57
|
Может так?
^(\d\d).*(\d\d)$ |
|||
5
RomaH
naïve
31.07.13
✎
11:57
|
сейчас пока в таком виде:
ШаблонСерии = "\d{2}[^0-9]*\d{2}"; СтрокаНомера = СтроковыеФункцииКлиентСервер.СтрокаСоотвествуетШаблонуРегЕксп(Номер,ШаблонНомера); СтрокаСерии = СтроковыеФункцииКлиентСервер.СтрокаСоотвествуетШаблонуРегЕксп(Серия,ШаблонСерии); Если СтрокаНомера = Неопределено Или СтрокаСерии = Неопределено Тогда //Серия или номер не вменяемы - удалим эту запись вообще НаборЗаписей = РегистрыСведений.ДокументыФизическихЛиц.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.Установить(ВыборкаПоПаспортам.Период); НаборЗаписей.Отбор.Физлицо.Установить(ВыборкаПоПаспортам.Физлицо); НаборЗаписей.Отбор.ВидДокумента.Установить(ВыборкаПоПаспортам.ВидДокумента); НаборЗаписей.Записать(); КонецЕсли; СтрокаСерии = Лев(СтрокаСерии,2) + Прав(СтрокаСерии,2); а вот как без последней строки? |
|||
6
RomaH
naïve
31.07.13
✎
11:59
|
(4) оно возвращает строку удовлетворяющую шаблону
а надо приведенную к определленной маске |
|||
7
y88
31.07.13
✎
12:03
|
первые два и последние два + проверка на цифры
|
|||
8
dmpl
31.07.13
✎
12:05
|
(0) Лев(стр, 2) + Прав(стр, 2)
|
|||
9
RomaH
naïve
31.07.13
✎
12:07
|
(8) чукча не читатель?
как это сделать с помощью ТОЛЬКО рег выражения т.е. из одной строки получить совсем другую |
|||
10
dmpl
31.07.13
✎
12:08
|
(9) Нафига использовать нештатные средства? Проще вообще поле ввода сделать жестко 4 символа.
|
|||
11
RomaH
naïve
31.07.13
✎
12:10
|
(10) не учите меня жить
|
|||
12
orefkov
31.07.13
✎
12:14
|
Используй шаблон из (4) и метод replace.
Строка замены - "\1\2". |
|||
13
Широкий
31.07.13
✎
12:14
|
(9) ЗАМЕНА
|
|||
14
dmpl
31.07.13
✎
12:16
|
(11) Ну как хотите. Но вообще, не надо ничего сложного придумывать, как показывает практика - сам же потом виноват и окажешься. Например, когда вместо 7898902 введут 78989022.
|
|||
15
Помогите
31.07.13
✎
12:35
|
(14) или когда введут 1117802111
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |