如何在 Google Forms Regex 中限制每行的行数和字符数

How to limit the # of lines AND characters per line in Google Forms Regex

我需要在 Google 表单中设置一个段落框,将响应限制为 5 行,每行不超过 59 个字符。

我尝试了很多不同的版本,但我现在拥有的是:

^(?:[^.{0,59}$\r\n]*(?:\r\n?|\n)){0,4}[^\r\n]*$

我也试过:

\A(^.{0,59}$\r?\n?){0,4}\z

^(?:[^\r\n]*(?:\r\n?|\n)){0,4}[^\r\n]*$ 可以很好地限制行数,但我不知道如何同时限制每行的字符数。我当前的代码失败超过一行,并且不限制该行的字符数。

我以前从未使用过 Regex,所以我只是想理解和拼凑我从其他人那里找到的代码,但没有什么能奏效的。如果有任何帮助,我将不胜感激!

您可以使用

^.{0,59}(?:\r?\n.{0,59}){0,4}$

参见regex demo and the regex graph

详情

  • ^ - 字符串开头
  • .{0,59} - 除换行符以外的 0 到 59 个字符
  • (?:\r?\n.{0,59}){0,4} - 重复零到四次
    • \r?\n - 可选的 CR(回车 return)后跟换行符 (LF)
    • .{0,59} - 除换行符以外的 0 到 59 个字符
  • $ - 字符串结尾。