Regex 如何检测子字符串中的第一个单词是否完全为大写?

Regex 如何检测子字符串中的第一个单词是否完全为大写?,regex,google-apps-script,google-sheets,Regex,Google Apps Script,Google Sheets,我正在尝试编写一个正则表达式,它将在谷歌表单中返回这些结果。大写和小写都在同一单元格中,包括逗号。我也在寻找一种在谷歌应用程序脚本中实现这一点的方法,但这不是必须的 "UPPER, Case" =TRUE "Upper, CASE" =FALSE "uPPER, case" =FALSE "UppEr, caSe" =FALSE "UPPER, case" =TRUE "uPPer, case" =FALSE

我正在尝试编写一个正则表达式,它将在谷歌表单中返回这些结果。大写和小写都在同一单元格中,包括逗号。我也在寻找一种在谷歌应用程序脚本中实现这一点的方法,但这不是必须的

"UPPER, Case"        =TRUE
"Upper, CASE"        =FALSE
"uPPER, case"        =FALSE
"UppEr, caSe"        =FALSE
"UPPER, case"        =TRUE
"uPPer, case"        =FALSE
如您所见,只有当整个第一个单词为大写时,它才会返回true

它还应该忽略逗号和第二个单词

所以我试了一下:

^[A-Z][A-Z]*\W?

^[A-Z] = check first letter to make sure it is a capital letter
[A-Z]* = any amount of the following letters should be capitalized
\W? = ignore anything following and including the first special character (right?)
如果我做错了,请告诉我!我没有得到预期的结果。

试试这个正则表达式:

[A-Z]+[,\s|\s,][[A-Z].{1}|[a-z].{1}[a-z]+

说明:
[A-Z]+
-确实抓住了所有的大写字母但是您需要确保两件事。首先,有一个词,这就是为什么要使用
+


,\s
-我为您的模式添加了这一部分-它有一个直接的前言含义(空格和逗号您可以尝试这样的
([a-Z]{1}[a-Z]+)

此代码验证第一个字母是否为大写,然后验证其余字母


您可以在此站点测试您的正则表达式代码

您的匹配正则表达式应该如下所示

^[A-Z]+,\s\w*$

或者([A-Z][A-Z]+)你只需要
[A-Z]+
其他一切都是多余的。但如果只放[A-Z]+,它将接受任何大写字母,这就是重点。
[A-Z]+
匹配一个或多个大写A-Z字符类。您的重模式需要至少两个大写字母,而我的重模式只需要一个…您也可以将您的重模式写成
[A-Z]{2,}
“大写字母”=TRUE“大写字母”=TRUE“大写字母”=FALSE“大写字母”=FALSE“大写字母”=TRUE“大写”=False这对我不起作用。不管大小写如何,它都会返回true。我想知道Google Sheets是否没有明确检查大写字母。这基本上解决了这个问题,但是,当逗号前有空格时,它就不起作用了(在我的工作表中,有时有空格),但是谢谢你,这很好!在这种情况下,使用这个:
^[A-Z]+\s?,\s?\w*$
你做得很好,伙计!谢谢你花时间关注细节!