Match RegExpMatchArray中的最大OR语句

qhhrdooz  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(133)

我正在使用下面的代码来删除垃圾邮件,其中有特定的单词或短语。我很难找到我可以拥有的OR语句的数量的限制。我知道我最终会撞到天花板。有人能提供这些信息吗?

if (msg.getPlainBody().match(/car|truck|van|house|cat|dog|apple|orange|(you won)/gi) !== null) {
  console.log('Msg Delete')
  console.log(i)
  Gmail.Users.Messages.remove('me', msg.getId())
  continue;
}
lf5gs5x2

lf5gs5x21#

documentation中,没有提到OR语句的限制,但是,你应该考虑Apps Script / JavaScript中的字符串限制,因为Apps Script是一个JS平台,我想说限制是基于JS文档,我找不到Apps Script的官方文档,但你可以检查这个:
语言规范要求字符串的最大长度为253 - 1个元素,这是精确整数的上限。

  • 在V8(Chrome和Node使用)中,最大长度为229 - 24(~1GiB)。在32位系统上,最大长度为228 - 16(~ 512 MiB)。
  • 在Firefox中,最大长度为230 - 2(~2GiB)。在Firefox 65之前,最大长度为228 - 1(~ 512 MiB)。
  • 在Safari中,最大长度为231 - 1(~4GiB)。

此外,建议遵循best practices以保持脚本的良好性能。通过使语句更长,脚本的性能可能会降低,并且还可能遇到其他限制,如脚本运行时间。

参考文献:

相关问题