Проблемы с использованием правила проверки с компонентом REGEX

У меня есть правило проверки, которое не подтверждается как истинное, и я не понимаю, почему это не так. Формула выглядит следующим образом:

AND( 
$RecordType.Name = "GSM Yfirsýn", 
INCLUDES( mplGSM_Yfirlit_Extras__c , "Netið"), 
REGEX(LEFT( txPayerKennitala__c ,1), "[4-6] {1}") 
)

Он ищет конкретный тип записи, проверяет, содержат ли какие-либо выбранные значения из раскрывающегося списка множественного выбора mplGSM_Yfirlit_Extras_c слово «Netið», а также проверяет регулярное выражение на наличие первой буквы текстовой строки, содержащейся в txPayerKennitala. _c равен либо 4,5, либо 6. Если все они верны, он должен быть активирован. Но это не так. Я думаю, что часть REGEX неправильно настроена. Я могу сделать это - используйте действие LEFT(), чтобы проверить первую букву, а затем передать ее функции REGEX, которая проверяет? Или я не в базе?


person akarnid    schedule 15.05.2012    source источник


Ответы (2)


Ваш REGEX [4-6] {1} содержит пробел перед {1}. Он проверяет наличие числа 4, 5 или 6 и одного пробела, но сравнивает только ЛЕВЫЙ первый символ txPayerKennitala__c. Измените REGEX на [4-6]{1} и посмотрите, поможет ли это.

person Matt K    schedule 15.05.2012
comment
Да, это так. Я все еще не заставляю это работать, но это шаг в правильном направлении. Спасибо за это. Я отмечу это как правильное. - person akarnid; 18.05.2012
comment
Я изменил это правило так: - person akarnid; 01.06.2012

Я получил это, чтобы работать просто отлично. Часть REGEX начала работать, когда я удалил пробел. Мои проблемы также связаны с частью INCLUDES. У меня было 5 разных значений в раскрывающемся списке множественного выбора для оценки, и мне пришлось использовать оператор ИЛИ между ними. Так что для всех, кто натыкается на это, это была правильная формула правила для меня:

AND( 
$RecordType.Name = "GSM Yfirsýn", 
OR( 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 1" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 2" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 3" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 4" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 5" )), 
REGEX(LEFT( txPayerKennitala__c ,1),"[4-6]{1}") 
)
person akarnid    schedule 01.06.2012