firestore.rules 正则表达式中的编译错误

Compulation errors in firestore.rules regex

我正在尝试匹配作为任何字母标签的任何字符串。

我在多个 re2 测试站点上测试了 ^#{1}\p{L}+$,它们都工作正常,但在 firestore.rules 中我遇到了编译错误:

Error: Compilation errors in firestore.rules:
[E] 33:33 - Unexpected 'p'.
[E] 33:37 - Unexpected '+'.
[E] 36:1 - Unexpected '}'.

删除 \p{L} 消除了错误,但据我所知,这应该是有效的。

我的测试字符串(前3个应该匹配,其余不匹配)

#somethingcool
#かんぱい
#señor

#dbudn-asdasd
##burn
kurm
#durm burn

编辑: 这是现行规则

match /tags/{tagId} {
  allow create: if userIs(userId) && isValidTag(tagId)
  allow read: if userIs(userId)
}


function isValidTag(tag) {
  return tag.matches('^#{1}\p{L}+$') == true
}

尝试用另一个反斜杠转义反斜杠:

return tag.matches('^#{1}\p{L}+$') == true