|
Проверка Гуид |
☑ |
0
bborisko
30.04.13
✎
08:10
|
Помогите написать регулярное выражение или может есть другой способ - надо проверить что в строке Гуид.
|
|
1
vde69
30.04.13
✎
08:15
|
гуид произвольный или из этой базы?
|
|
2
bborisko
30.04.13
✎
08:18
|
из базы
|
|
3
Defender aka LINN
30.04.13
✎
08:18
|
(1) А, типа, регулярка от этого поменяется?
(0) Через Попытку проверь
|
|
4
HeroShima
30.04.13
✎
08:20
|
(0) Формат какой-то фиксированный?
|
|
5
bborisko
30.04.13
✎
08:23
|
Формат Гуид в 1с
6872d2fc-ddd8-11e0-a8cd-001e682faa88
Проверить кол. символов и наличие тире в нужном месте.
|
|
6
mehfk
30.04.13
✎
08:24
|
(0)
Функция ИзвлечьGUIDИзСтроки(СтрокаСообщения)
RegExp = Новый COMОбъект("VBScript.RegExp"); // создаем объект для работы с регулярными выражениями
RegExp.MultiLine = Истина; // истина — текст многострочный, ложь — одна строка
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Pattern = "\{[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}\}";
objMatches = RegExp.Execute(СтрокаСообщения);
Для ъ = 0 по objMatches.Count - 1 Цикл
objMatch = objMatches.Item(ъ);
Возврат Сред(objMatch.Value,2,СтрДлина(objMatch.Value)-2);
КонецЦикла;
Возврат "";
КонецФункции
|
|
7
bborisko
30.04.13
✎
08:25
|
(6) Спасибо!
|
|
8
Defender aka LINN
30.04.13
✎
08:27
|
Попытка
ИД = Новый УникальныйИдентификатор(Строка);
ЭтоГУИД = Истина;
Исключение
ЭтоГУИД = Ложь;
КонецПопытки;
|
|
9
Sammo
30.04.13
✎
08:36
|
Кроме того можно проверить запросом - если есть проблемы с регуляркой и попыткой.
Через Like
|
|
10
bborisko
30.04.13
✎
08:45
|
(9) Покажи как? Интересно для общего развития)
|
|
11
Sammo
30.04.13
✎
11:43
|
ВЫБРАТЬ
&Стр
ГДЕ
&Стр ПОДОБНО &Шаблон
&Стр - твоя строка
&Шаблон - соответственно шаблон гуида.
Но, насколько я помню, там не взлетит использование {[0-9a-fA-F]{8} надо будет указывать [A-Z 0-9][A-Z 0-9][A-Z 0-9] и так далее.
Нюанс - мс скуль не отличает маленькие буквы от больших, поэтому если решение только для MS SQL, то можно не указывать a-z A-Z
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший