Google sheets 谷歌电子表格:-验证单元格只包含字母数字和下划线

Google sheets 谷歌电子表格:-验证单元格只包含字母数字和下划线,google-sheets,validation,re2,Google Sheets,Validation,Re2,在Google电子表格中,如何使用自定义公式(带正则表达式)在单元格内容中仅允许字母数字和下划线字符?有3个主要公式用于验证正则表达式(您可以找到公式文档): REGEXEXTRACT:根据正则表达式提取匹配的子字符串 REGEXMATCH:一段文本是否与正则表达式匹配 REGEXREPLACE:使用正则表达式将文本字符串的一部分替换为其他文本字符串 可以使用这些公式测试表达式。本页将帮助您了解如何利用这些公式。还可以查看正则表达式第2部分 或者,如果您使用谷歌表单向电子表格提交数据,您可以

在Google电子表格中,如何使用自定义公式(带正则表达式)在单元格内容中仅允许字母数字和下划线字符?

有3个主要公式用于验证正则表达式(您可以找到公式文档):

  • REGEXEXTRACT:根据正则表达式提取匹配的子字符串
  • REGEXMATCH:一段文本是否与正则表达式匹配
  • REGEXREPLACE:使用正则表达式将文本字符串的一部分替换为其他文本字符串
可以使用这些公式测试表达式。本页将帮助您了解如何利用这些公式。还可以查看正则表达式第2部分


或者,如果您使用谷歌表单向电子表格提交数据,您可以为每个问题添加字段验证。

我需要一个验证,它也可以检测到这一点。这是我的工作解决方案

=IF(REGEXMATCH(A1,[^A-Za-z0-9+]),FALSE,TRUE)

如果字符串中除字母、数字、下划线和破折号外存在任何内容,则此正则表达式验证将返回TRUE(代码断言“否定集”)


然后我们简单地翻转布尔逻辑(使用'IF…FALSE,TRUE')。这将导致拒绝非法字符。

我在发布问题之前尝试了REGEXMATCH。我的问题是什么是正确的正则表达式。这里有一个re2参考:大多数带有下划线的字母数字序列的正则表达式看起来类似于[a-zA-Z0-9_]*其中:a-z=小写字母a-z=任何大写字母0-9=任何数字uz:下划线我放置了*以表示0个或多个字母数字字符。如果您希望字符串具有一定的长度或模式,请查看上述参考中的“重复”部分。@Orion如果您坚持要获得正确的正则表达式,也许您应该将您的问题标记为关于正则表达式。你“在发布之前尝试过RegexMatch”,没有标记问题是关于Regex的,然后错误地引用了你的实际问题(你的问题不是“什么是正确的正则表达式”),这让我觉得你只是在诱使人们为你工作。这不是StackOverflow的目的。布雷迪回答中的正则表达式应与“正则表达式匹配”一起使用。他可能没有将其作为答案发布,因为您没有将其标记为正则表达式问题