-2

フルネームを含む文字列の入力を想定しています。フルネームは非常に多様です。ジョー・ブログス、ジョー・ブログス・フィリップス、ジョー・ブログス・フィリップス、ジョー・ブログス・アダムス・フィリップス、ジョー・ヴァン・デン・ブログス、ジョー・ヴァン・ダー・ブログス。

「ミドルネーム」と呼ぶものと一致させたい。それは最初と最後のスペースの間のすべてです。つまり、上記のように、「Bloggs Adams」、「van den」、および「van-der」です。ハイフンでつながれた単語を含む名前は完全な姓です。これの正規表現は何ですか?

PS。私は名前の文化的多様性を認識しています。「van der」は実際にはミドル ネームではなく、姓の始まりです。したがって、対応するためにこの正規表現に組み込むロジックがあれば、これは役立ちます。そうでなければ、私は仮定したい:

  • 名 - 最初のスペースまでのすべて。
  • ミドルネーム - 最初のスペースから最後のスペースまで。
  • 姓 - 最後のスペースから最後まで。

どうもありがとう。

4

1 に答える 1

2

これを使って:

^(\S+)\s+(.*\b)\s+(\S+)$

最初のキャプチャ グループは名、2 番目のグループはミドル ネーム、3 番目のグループは姓です。

于 2015-04-19T13:16:34.710 に答える