パターンは、単語と大文字の文字と一致する必要があります。
単語はで区切られます[ ]+
しかし、最後の言葉はその後にあるべきではありません[ ]
。
単語数に制限はありません。
私はなんとかやった:(http://regexr.com?32s1h)
^([A-Z]{1}[a-z]+([a-z]+)?[ ]+)+$
//Xav Tvc Dcc_
最後のスペースに注意してください
しかし、Xav Tvc Dcc
正規表現を修正するにはどうすればよいですか?
パターンは、単語と大文字の文字と一致する必要があります。
単語はで区切られます[ ]+
しかし、最後の言葉はその後にあるべきではありません[ ]
。
単語数に制限はありません。
私はなんとかやった:(http://regexr.com?32s1h)
^([A-Z]{1}[a-z]+([a-z]+)?[ ]+)+$
//Xav Tvc Dcc_
最後のスペースに注意してください
しかし、Xav Tvc Dcc
正規表現を修正するにはどうすればよいですか?
最後にスペースが続かない単語を要求します:
^([A-Z]{1}[a-z]+([a-z]+)?[ ]+)*[A-Z]{1}[a-z]+([a-z]+)?$
クイックPowerShellテスト:
PS Home:> 'Xav Tvc Dcc ','Xav Tvc Dcc' -match '^([A-Z]{1}[a-z]+([a-z]+)?[ ]+)*[A-Z]{1}[a-z]+([a-z]+)?$'|%{"<$_>"}
<Xav Tvc Dcc>
正規表現を変更することによって発生する可能性のあるエラーが心配な場合は、いつでもその場で作成できます。
var word = "([A-Z]{1}[a-z]+([a-z]+)";
var regex = string.Format("^({0}?[ ]+){0}$", word);
または、使用する言語に類似しています。
最後の単語の後ろのスペースがオプションの場合は、正規表現パターンを使用します
^(?:[A-Z][a-z]*(?:[ ]+|$))+$
...そして、最後の単語の後ろにスペースがあってはならない場合は、
^(?:[A-Z][a-z]*(?:[ ]+(?=.)|$))+$