C#で正規表現を使用して次の条件下で文字列を照合する必要があります。
- 文字列全体は英数字(スペースを含む)のみにすることができます。
- 最大15文字以下(スペースを含む)である必要があります。
- 最初と最後の文字は文字のみにすることができます。
- 1つのスペースは、文字列の最初と最後の文字以外の場所に複数回出現する可能性があります。(複数のスペースを一緒に使用することはできません)。
- キャピタライゼーションは無視する必要があります。
- 単語全体と一致する必要があります。
これらの前提条件のいずれかが破られた場合、一致は続きません。
これが私が現在持っているものです:
^\b([A-z]{1})(([A-z0-9 ])*([A-z]{1}))?\b$
そして、これが一致するはずのいくつかのテスト文字列です:
- スタックオーバーフロー
- Iamthe最大
- A
- superman23s
- 一二三
そして、一致してはならないものもあります(スペースに注意してください):
- スタック[double_space]オーバーフローロック
- 23こんにちは
- ThisIsOver15CharactersLong
- Hello23
- [space_here]ねえ
等
任意の提案をいただければ幸いです。