1

我正在尝试编写一个数据验证规则,以确保Shipping Street是一行(不包含换行符)


CONTAINS( ShippingStreet , BR() )我已经尝试过, 和之类的东西
CONTAINS( ShippingStreet , "\n" )
但我无法触发规则。

有什么帮助吗?

4

2 回答 2

3

这将做到:

REGEX(ShippingStreet,'.*\\n.*')

从这个关于 SFDC REGEX 解析的问题中可以学到两件事:

(1) 根据Java SE 6 模式语法,当在编译为正则表达式的字符串中使用时,您需要对换行符 (\n) 以及各种其他特殊字符进行双重转义,即使用'\n'。

(2) Salesforce 正则表达式解析器默认匹配整个短语。要匹配短语的一部分,您必须用.*包围您的模式

例子:

 1. REGEX('Marc Benioff','Marc Benioff') -> TRUE
 2. REGEX('Marc Benioff is a CEO','Marc Benioff') -> FALSE
 3. REGEX('Marc Benioff','.*Marc Benioff.*') -> TRUE
 4. REGEX('Marc Benioff is a CEO','.*Marc Benioff.*') -> TRUE

有关更多信息,请阅读SFDC REGEX 帮助文档的“提示”部分。

于 2012-07-08T19:05:28.693 回答
0

验证规则中的以下内容应该意味着只接受仅包含字符的 ShippingStreet 值(因此没有换行符等)。

NOT(REGEX(ShippingStreet, '.*'))
于 2012-07-08T18:47:35.153 回答