Google cloud firestore 验证firestore安全规则中的电子邮件格式

Google cloud firestore 验证firestore安全规则中的电子邮件格式,google-cloud-firestore,firebase-security,Google Cloud Firestore,Firebase Security,我需要确保,如果用户正在更新其电子邮件,它应该是一个正确的电子邮件地址(至少包括一个“@”并以“.xxx”结尾) 我明白我必须使用。我试过: request.resource.data.email.matches(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i) 但它似乎不符合RE2标准: i firestore: Change detected, updating rules... ⚠ firestore.rules:30:63 - ERROR

我需要确保,如果用户正在更新其电子邮件,它应该是一个正确的电子邮件地址(至少包括一个“@”并以“.xxx”结尾)

我明白我必须使用。我试过:

request.resource.data.email.matches(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i)
但它似乎不符合RE2标准:

i  firestore: Change detected, updating rules...
⚠  firestore.rules:30:63 - ERROR Unexpected '_'.
⚠  firestore.rules:30:63 - ERROR Unexpected '_'.
⚠  firestore.rules:30:63 - ERROR mismatched input '_' expecting {'&&', '.', '==', '>', '>=', '[', '<', '<=', '-', '%', '!=', '||', '+', '}', ';', '/', '*', '?', 'in', 'is'}
⚠  firestore.rules:30:81 - ERROR token recognition error at: '\'
⚠  firestore.rules:30:82 - ERROR token recognition error at: '\'
⚠  firestore.rules:30:94 - ERROR Unexpected '$'.
⚠  firestore.rules:30:95 - ERROR Missing 'match' keyword before path.
⚠  firestore.rules:30:97 - ERROR mismatched input ')' expecting {'{', '/', PATH_SEGMENT}
⚠  firestore.rules:48:3 - ERROR Unexpected '}'.
✔  firestore: Rules updated.
i firestore:检测到更改,正在更新规则。。。
⚠  firestore.rules:30:63-意外错误“\u1”。
⚠  firestore.rules:30:63-意外错误“\u1”。

⚠ firestore.rules:30:63-错误不匹配的输入'''.'应为{'&&&','=','>','>=','[',',根据,matches()接受字符串参数。这意味着您应该将正则表达式放在双引号内,告诉语言您有字符串值。

根据,matches()接受一个字符串参数。这意味着您应该将正则表达式放在双引号内,告诉语言您有一个字符串值。

好的,谢谢!现在我的正则表达式似乎不起作用。知道在哪里可以找到有效的正则表达式吗?如果您有新问题,请单独发布。不过,我会指出,请参考对场外材料的引用与堆栈溢出无关。好的,谢谢!现在我的正则表达式似乎不起作用。你知道在哪里可以找到一个有效的正则表达式吗?如果你有新问题,请单独发布。不过,我要指出,对场外材料的引用与堆栈溢出无关。