如何创建一种模式来检查所有首字母应为大写?

时间:2019-05-16 08:56:40

标签: regex angular typescript pattern-matching

我需要一个角度模式,该模式仅检查每个单词的首字母是否大写。 为了做这样的事情,我正在使用这种模式

pattern ="^([A-Z][a-z]*((\\s[A-Za-z])?[a-z]*)*)$"

1只对首字母有效

2-例如,当我遇到2失败时,我想检查字符串的第一个字母。

3 个答案:

答案 0 :(得分:0)

请尝试以下正则表达式模式:

/([A-Z][\w-]*(\s+[A-Z][\w-]*)+)/

基于https://stackoverflow.com/a/4113070/8090014

答案 1 :(得分:0)

您可以尝试使用此正则表达式模式:

$data=$this->Nodals->find()->toArray();
$this->set('data',$data);
print_r($data); 
die();

答案 2 :(得分:0)

您的模式仅适用于第一个单词的第一个字母,因为该单词必须以大写字母A-Z开头。但是在那之后,重复的组以\s[A-Za-z]开头,它也与小写字母a-z相匹配。

请注意,\s也匹配换行。我不希望那样,您可以使用字符类[ \t]

来匹配空格或制表符

您可以使用以A-Z开头的匹配项,在重复的组中也可以使用以A-Z开头的匹配项。如果要匹配单词,可以使用匹配单词\w

^[A-Z]\w*(?:[\t ]+[A-Z]\w*)*$

Regex demo