1

http://www.regular-expressions.info/examples.htmlの例を使用して、次のコードを検証しました

while [[ ! $name =~ ^[a-Z][ \t][a-Z]. ]]; do

                echo "Please enter your Firstname and Surname e.g Joe Bloggs"                           # (a)Ask for NAME,TELEPHONE NUMBER,DOB #
                read name
                echo
        done

私は、ユーザーがスペースを入れてファーストネームとセカンドネームを入力できるようにすることを非常に簡単に探しています。助けていただければ幸いです。

4

1 に答える 1

3

正規表現にはいくつかの問題があります。

  • a(小文字) と(大文字)の間の文字をチェックしていますZ[A-Za-z]大文字と小文字の両方をチェックするために使用してください。
  • 繰り返し文字がありません。+1 つ以上の文字に一致させるために使用します。
  • end-of-match は$, notである必要があります.(これは任意の 1 文字に一致します)。

これを試して:

^[A-Za-z]+[\ \t][A-Za-z]+$

大文字の姓名を検証する場合は、次を使用できます。

^[A-Z][a-z]+[\ \t][A-Z][a-z]+$

Marty McFlyしかし、これは、その規則に従わないような名前では機能しません。

于 2013-01-20T23:09:56.227 に答える