适用于云存储的Firebase安全规则split()示例错误

时间:2017-07-03 00:08:31

标签: firebase firebase-security firebase-storage

我尝试按照Firebase安全规则中列出的云存储参考示例:

https://firebase.google.com/docs/reference/security/storage/

我复制&将split()的示例粘贴到我的存储规则中,它不会编译/让我保存:

  

根据提供的正则表达式拆分字符串并返回字符串列表。使用Google RE2语法。

// Allow files named "file.*" to be uploaded
match /{fileName} {
  allow write: if fileName.split('.*\..*')[0] == 'file'
}

我得到的错误: Unexpected '.'.

对于我的生活,我无法获得提供的示例代码来运行,也无法进行更改并使Regex按预期工作。

任何人对Allow files named "file.*" to be uploaded都有任何建议?

2 个答案:

答案 0 :(得分:3)

规则中似乎缺少\。试试这个:

// Allow files named "file.*" to be uploaded
match /{fileName} {
  allow write: if fileName.split('.*\\..*')[0] == 'file'
}

通常,在使用正则表达式时,首先要检查反斜杠。不同的系统使用反斜杠进行转义,有时(例如这里)你需要双重逃避它们。

答案 1 :(得分:0)

文档错误。改用它('\。'):

// Allow files named "file.*" to be uploaded
match /{fileName} {
  allow write: if fileName.split('\\.')[0] == 'file'
}