根据 REGEX 验证 LibreOffice 单元格内容

Validate LibreOffice cell contents against a REGEX

我需要针对 REGEX 强制执行列单元格有效性。

所以我问是否可以针对 REGEX 验证一个单元格(实际上是一列中的所有单元格)。
我看到我们有 data validity custom formula 选项,但我找不到任何关于如何使用它来验证 REGEX 的文档...

有人可以帮忙吗?

条件对我有用公式是

AND(ISERROR(REGEX(E9;"^[0-9]{11}$"));ISERROR(REGEX(E9;"^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9A-Za-z]{3}[A-Za-z]{1}$"));ISERROR(REGEX(E9;"^[A-Za-z]{6}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{3}[A-Za-z]{1}$")))

是的,它很长而且很难编辑。或许,如果你考虑问题的时间足够长,你可以想出一个更短的表达式。

Update顺便说一下,Data-Validity也可以通过否定相同的条件来实现:

NOT(
  AND(
    ISERROR(REGEX(<Checked cell address>;"^[0-9]{11}$"));
    ISERROR(REGEX(<Checked cell address>;"^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9A-Za-z]{3}[A-Za-z]{1}$"));
    ISERROR(REGEX(<Checked cell address>;"^[A-Za-z]{6}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{3}[A-Za-z]{1}$"))
  )
)