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

时间:2018-09-24 19:42:21

标签: regex google-apps-script google-sheets

我正在尝试编写一个正则表达式,它将在Google工作表中返回这些结果。单词大写和大写都在同一单元格中,包括逗号。我也在寻找一种在Google Apps脚本中完成此操作的方法,但这不是必需的。

"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?)

如果我做错了,请告诉我!我没有得到预期的结果。

3 个答案:

答案 0 :(得分:1)

您的比赛正则表达式应如下所示。

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

答案 1 :(得分:0)

尝试使用此正则表达式:

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

说明:
[A-Z]+-确实包含所有大写字母。您要要确保两件事。首先,有一个字,这就是为什么您应该使用+
,\s-我为您的模式添加了此部分-它的前言含义很直(空格和逗号

答案 2 :(得分:0)

您可以尝试类似([A-Z]{1}[A-Z]+)

的方法

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

您可以在此网站http://www.gethifi.com/tools/regex

中测试您的正则表达式代码