我正在尝试在Salesforce中构建一种打卡/调度系统。我已经获得了使用单个输入屏幕创建多个记录的“可视化工作流程”。
我现在需要通过添加REGEX验证规则来强制以单一格式(HH:MM am / pm)输入时间来证明这一点。
我发现SLQ的这条REGEX
((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))
(我删除了开头的^和结尾的$)
但是当他在Salseforce中输入时我收到了错误
公式表达式无效:语法错误。找到'['。
非常感谢任何帮助。 (对不起,如果这有点长)
答案 0 :(得分:2)
那里发布的正则表达式旨在处理许多不同的时间格式。看起来你的目标是变得不那么灵活,所以对你来说更好的正则表达式可能会更简单。
[0-1]?[0-9]:[0-5][0-9] [A|P]M"
这将允许像
这样的时间09:08 PM
上午12:49
下午1:32
但不允许像
这样的事情23时42分
23:42 PM
下午1:09
一般情况下,正则表达式最好从这样简单的东西开始,然后展开它。
现在,因为你想在验证规则中使用它,你必须记住,当正则表达式不匹配时你想要触发这个规则(因为那是你想要抛出一个错误,当某人输入了无效的时间格式时)。所以你的规则实际上就像
NOT(REGEX( Time__c , "[0-1]?[0-9]:[0-5][0-9] [A|P]M"))