だから、私はJavaでメソッド「matches()」を使用して作業してきました..のように:
Str1 = 'Jane';
Str1.matches("[A-Z][a-zA-Z]*");
文字列が大文字で始まり、その後に任意の数の大文字/小文字が続くかどうかを調べます。未知の量の単語を一致させようとしている場合を除いて、すべての構成を理解できるようです。たとえば、文字列が文字とスペースだけで構成されていることを確認したい場合、各単語は大文字で始まります。できると思っていた
Str2 = 'Jane Marie Doe';
Str2.matches("[A-Z][a-zA-Z\\s]*");
大文字の後に任意の数のスペース、大文字、および小文字が続く場合と同様ですが、すべてのスペースの後に大文字が続く必要があるという規則は強制されません。トークン化する必要がありますか (それが正しい単語かどうかはわかりません)、スペースを区切り文字として使用して文字列を分割し、各単語を評価する必要がありますか? または、これを ([AZ][a-zA-Z]\\s)* のような種類のマッチメソッドに入力する方法はありますか?ここで、アスタリスクは括弧内のエントリ全体の任意の数を意味しますか? これを入力しているときは、最後の単語の後にスペースがないため、概念的にも機能しないと考えています。おそらく ([AZ][a-zA-Z]\\s?)* が機能するでしょうか? しかし、そうではありません。なるものはありますか?
これに対処する他の質問がいくつかあることがわかりましたが、決定的な有効な答えを見つけることができなかったようです.