我需要在C#中使用正则表达式在下列条件下匹配的字符串:C#正则表达式匹配15个字符,一个空格,字母数字
- 整个字符串只能是字母(包括空格)。
- 最多不能超过15个字符(包括空格)。
- 第一个&最后的字符只能是一个字母。
- 单个空格可以在除字符串的第一个和最后一个字符之外的任何地方出现多次。 (不应允许多个空间在一起)。
- 大写应忽略。
- 应匹配整个单词。
如果这些先决条件中的任何一个被破坏,则不应遵循匹配。
这里是我目前有:
^\b([A-z]{1})(([A-z0-9 ])*([A-z]{1}))?\b$
这里有一些应该匹配测试字符串:
- 堆栈溢出
- Iamthe最大
- 一个
- superman23s
- One Two Thr ee值
有的认为不应该匹配(注意空格):
- 堆栈[double_space]溢出岩石
- 23Hello
- ThisIsOver15CharactersLong
- Hello23
- [space_here]嘿
等
任何建议将不胜感激。
您的正则表达式有什么问题? –
问题是当我只想匹配一个空格时,它匹配双空格。我分享所有不相关的细节的唯一原因是因为我不希望我的可能不正确的正则表达式负担其他人试图匹配我设定的条件。 – user1684699
你的第一个字符串是如何匹配的?它超过15个字符 –