"Johnson"、 "Del Sol"、または "Del La Range"と一致するC#の正規表現が必要です。言い換えれば、中間のスペースは単語に一致しますが、先頭または末尾にスペースはありません。内部空間を含む姓のC#での正規表現
答えて
?修飾子はあなたの友人です。欲張りなものではなく、できるだけ早くマッチします。
^(.+?) (.+)$
グループ1は最初のスペースまですべてを取得し、グループ2は残りを取得します。
もちろん、の最初のにスペースが含まれているとしたらどうなりますか?
このような何かを試してみてください:これは仕事をしなければならない
^[^\s][\w\s]*[^\s]$
... –
:
^[a-zA-Z][a-zA-Z ]*[a-zA-Z]$
編集:は、ここでは名前に一後者の名前とハイフン/アポストロフィを可能に若干の改善です:
^[a-zA-Z'][a-zA-Z'- ]*[a-zA-Z']?$
マルコムXが、このことについて幸せではないでしょう... –
(ある2文字の姓...の最小値を必要とする)私は考えることができる最短の本当の名前です"Ng。"うまくいくはずです。 ;) –
人の非ゼロの数がええ、私は審査時に、しかし変化する気にしませんでした私は、最後の1文字を考慮していなかったので、気づい –
^\p{L}+(\s+\p{L}+)*$
この正規表現は次の機能を備えています:
- マルコムXの姓)
- は
\w
または[^ ]
意志で何かのような数字() - マッチユニコード文字
しかし、どのような「オコナー」などの姓についてを含む最後の名前と一致しませんうーん...
ハイフン付きの姓...私は、これはあなたが探していたより何だと思う:この寿
^[^ ][a-zA-Z ]+[^ ]$
ldは空白、アルファベット、スペースのない行の先頭に一致し、最後にスペースはありません。
これはIRBで動作しますが、私はC#ので働いていた最後の時間は、私は同様の正規表現を使用しました:
(ゼロで良い、nilの手段が失敗した)名前で
>> "Di Giorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0
>> "DiGiorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0
>> " DiGiorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> nil
>> "DiGiorno " =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> nil
>> "Di Gior no" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0
[^]を使用すると、数字、句読点などで始まるまたは終わる姓に一致します。 –
Danny's right。私は同じ解決策で反応し、私がこれを認識したときにそれを収縮させた。 –
を「サラ広告-DīnYūsufibnAyyūb "(http://en.wikipedia.org/wiki/Saladdin参照)は、最初の名前であり、最後は何ですか? "Roberto Garcia y Vega"(発明された)の名前はどうですか? 「蒋介石」(http://en.wikipedia.org/wiki/Chang_Kai-shek参照)?
名前のスペースは、あなたの問題の中で最も少ないです! Personal names in a global application: What to storeを参照してください。ここで
私は同意します。どんなに頑張っても、正しく一致しない名前が常に見つかるでしょう。つまり、あなたが解析している名前を完全に制御できない場合です。 –
は1良いでしょう:
/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/
は、標準的な句読点やスペースを使用できますが、句読点を開始することはできません。
- 1. 内部に任意の記号を含む正規表現
- 2. 空白を含むファイル名の正規表現の構文
- 3. アポストロフィを含むC#でのこの正規表現の問題
- 4. 空白を含むアルファベットの正規表現
- 5. 空白を含む正規表現の分割
- 6. プレーンテキストのみを含む正規表現
- 7. Pythonの正規表現:文字範囲内の空白を含む
- 8. 姓と名字の正規表現
- 9. C#の正規表現マッチ改行を含むタグの間の任意のテキスト
- 10. 文字の範囲内の姓の正規表現
- 11. C#正規表現空の文字列を取り込む
- 12. 変数を含む正規表現
- 13. アポストロフィを含む正規表現
- 14. 10進数+、 - を含む正規表現
- 15. 小数点を含む正規表現
- 16. 例外を含む正規表現
- 17. C#特殊文字を含む正規表現の境界
- 18. 文字列内の '/'を含むJavaScript正規表現
- 19. C#正規表現の正規表現
- 20. ある正規表現を含むが別の正規表現を除外する正規表現
- 21. 正規表現の比較時に変数を含む正規表現
- 22. 含む正規表現にマッチ*、_
- 23. Java正規表現 - 正確に1つの空白を含む式
- 24. 正規表現の一致内部 '。'
- 25. C#の間違った正規表現
- 26. 正規表現の空白
- 27. 正規表現内での2つの正規表現テスト
- 28. Cでの正規表現
- 29. Google Apps Script正規表現で人の姓を取得する
- 30. 正規表現 - 空でない引用符を含む一致するリテラル
入力文字列はどのように見えますか?最後の名前は文字列の唯一の部分ですか、それとも文章ですか、場合によってはスペースのあるフルネームですか?ここでは文脈が重要だと思う。 – Rich