使用 .matches() 的 Firebase 存储规则中的正则表达式,正则表达式工具中的正则表达式有效,但在存储规则中无效
Regex in Firebase Storage Rule with .matches(), the regex in regex tools works, but in storage rules not
我正在尝试检查用户必须访问的文件夹名称是否包含您在 firebase 存储规则中的 uid。我知道的唯一方法是使用正则表达式和.matches。但是即使我在 regexr.com.
中测试正则表达式,所有尝试都失败了
该文件夹包含两个uid,用户需要您在文件夹名称中的uid才能读写。
chats/uid1-uid2/
我试试:
chatName.matches("/"+request.auth.uid+"/");
和另一个正则表达式尝试过,但都失败了。我不知道该怎么想了
我如何进行验证
已解决
我不知道火规则(至少从我知道的存储中),有简短的语法来拆分 string/array 没有方法,只是数组 [index1:index2],就像 python .
所以 uid 如何始终固定大小,只是获取 uid1-uid2 的 uid 的两次拆分,并比较 uid1 === uid 或 uid2 === uid
我正在尝试检查用户必须访问的文件夹名称是否包含您在 firebase 存储规则中的 uid。我知道的唯一方法是使用正则表达式和.matches。但是即使我在 regexr.com.
中测试正则表达式,所有尝试都失败了该文件夹包含两个uid,用户需要您在文件夹名称中的uid才能读写。
chats/uid1-uid2/
我试试:
chatName.matches("/"+request.auth.uid+"/");
和另一个正则表达式尝试过,但都失败了。我不知道该怎么想了
我如何进行验证
已解决
我不知道火规则(至少从我知道的存储中),有简短的语法来拆分 string/array 没有方法,只是数组 [index1:index2],就像 python .
所以 uid 如何始终固定大小,只是获取 uid1-uid2 的 uid 的两次拆分,并比较 uid1 === uid 或 uid2 === uid