1

試験の過去問題でいくつかの問題を試していますが、特にこの問題に苦労しています。現時点では、次のようなことを考えています。

([A-Z]*),? ([A-Z]*) ([A-Z]*)?

しかし、これは機能していないようです。フォーマットが間違っている/一般的に間違っていると確信しているためです。助けてください?

質問が下にあるのではないかと思っている場合は、私が何を達成しようとしているのかがわかります。どうもありがとう。

個人名には、1 つの姓と 1 つ以上の名を含める必要があります。姓が名の前にある場合は、姓の後にカンマを付ける必要があります。ここではいくつかの例を示します。

  • グラハム・アーサー・チャップマン
  • エリック・アイドル
  • テリー・ギリアム
  • テリー・ジョーンズ
  • ジョン・マーウッド・クリーズ
  • マイケル・ペイリン

個人名を含む行を見つけるために egrep コマンドをどのように使用しますか? 名前は大文字のみで書かれていると想定できます。

4

2 に答える 2

2
^[A-Z]+,?( [A-Z]+)+?$

これが行うことは、行が文字で始まり、オプションでコンマが続き、次にスペースとそれに続く少なくとも 1 つの文字で構成されるその他の単語のグループであることを確認することです。

于 2013-01-14T23:06:15.267 に答える
1

あなたの正規表現では、2 つのフォアネームしか許可されていません。これを使用します(グループをキャプチャせずに):

[A-Z]+,?( [A-Z]+)+

*s をs に変更しました。これは、+2 つのスペースにも一致するためです。

于 2013-01-14T23:03:26.763 に答える