这是我的问题:
我尝试为 Salesforce 中的验证模式字段创建特定正则表达式。我们的想法是创建一些东西来帮助人们以常规形式填充文本框。
以下是规范:
- 授权字符:
[a-z0-9/?:(),'.+ -]
- 不接受的单词:
discount
和www
,如果另一个单词包含discount
或www
,则不得使用被接受,例如:helldiscount
=> 不被接受 - 整个正则表达式必须不敏感
- 未经授权的规范:
.xxx
(指向接下来的 3 个字母)和.xx
(指向接下来的 2 个字母)
这是没有规范不敏感和规范的正则表达式:
^(?!discount|www)([a-zA-Z0-9/?:(),.'+ -]+)$
我致力于使这个正则表达式不敏感并尝试添加规范,但我的工作实际上不起作用;这是工作:
(?i)^(?!(?:discount|www)$)([a-z0-9/?:(),'.+ -]+)$
我想念一些东西,但我不明白它是什么。
非常感谢您的帮助,谢谢!
最佳答案
您正在测试 discount
或 www
是否不在字符串的开头,您必须测试字符串中的所有位置:
^(?i)(?!.*discount|.*www)([a-zA-Z0-9/?:(),.'+ -]+)$
// ^^ ^^
关于Javascript 正则表达式不敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254945/