Firestore对ID(https://firebase.google.com/docs/firestore/quotas)有限制
用于检查以下内容约束的Javascript正则表达式是什么:
/
).
)或两个周期(..
)组成__.*__
答案 0 :(得分:5)
让我们看看这些要点:
必须是有效的UTF-8字符
我认为这至少是您选择的编程语言的问题,至少直到您告诉我们您具有原始八位字节并希望使用正则表达式来验证原始八位字节序列是有效的UTF-8序列
不得超过1,500个字节
这将表示类似.{1,1500}
不能包含正斜杠
这将表示类似[^/]{1,1500}
而不是.{1,1500}
。
不能完全由一个或两个周期组成。
这意味着类似(?!\.\.?)
。
无法匹配正则表达式
__.*__
这意味着类似(?!__.*__)
的东西。也许应该意味着不允许有任何ID以__
开始并以__
结尾,但也许这意味着不允许任何ID包含 一个以__
开头/结尾的子字符串。我的方法很安全,可以拒绝包含子字符串的任何内容。
结合以上内容,我们会得到类似的东西:
^(?!\.\.?$)(?!.*__.*__)([^/]{1,1500})$
将一些测试用例的最大长度缩短到10左右。
接受foo
foo.
foo..
拒绝
bar/
12345678901
foo__bar__
.
..