Я пытаюсь сопоставить любую строку, которая является хэштегом любых букв.
Я протестировал ^#{1}\p{L}+$
на нескольких сайтах тестирования re2, и все они работают нормально, но в 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
}