java语句中的每个单词都是大写字母
我正试图为我的任务编写一个正则表达式。 句子中的每个单词都以大写字母开头,其余的都是小写字母
(^[A-Z]{1}[a-z\s]+)+
例如
Java Test
-好的
Java test
-不正常
JaVa Test
-不正常
java Test
-不正常
你可以在下面搜索框中键入要查询的问题!
我正试图为我的任务编写一个正则表达式。 句子中的每个单词都以大写字母开头,其余的都是小写字母
(^[A-Z]{1}[a-z\s]+)+
例如
Java Test
-好的
Java test
-不正常
JaVa Test
-不正常
java Test
-不正常
# 1 楼答案
您尝试的模式也将匹配
Java test
,因为字符类[a-z\s]+
会将任何列出的字符重复1+次,包括空格,并且不会强制第二个单词以大写字符开头您可以在每次迭代中重复匹配大写字符和1+小写字符的部分
注意
\s
也将匹配一个换行符,您可以省略{1}
^
字符串的开头[A-Z][a-z]+
匹配1个大写字母A-Z和1+小写字母A-Z(?:
非捕获组[A-Z][a-z]+
匹配一个空格,1个大写字母a-Z和1+小写字母a-Z)*
关闭非捕获组,重复1+次$
字符串结尾Regex demo
除了匹配单个空格,还可以使用
\h
(在java中\\h
)匹配1+个水平空白字符Regex demo
# 2 楼答案
如果下列任何一个单词中可以有一个字符:
然后你可以使用:
演示和解释可以在here
否则,如果每个单词中总是有多个字符,则可以使用:
演示和解释可以在here找到