加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#正则表达式匹配15个字符,单个空格,字母数字

发布时间:2020-12-15 08:38:00 所属栏目:百科 来源:网络整理
导读:我需要在C#中使用 Regex在以下条件下匹配字符串: 整个字符串只能是字母数字(包括空格). 最多不超过15个字符(包括空格). 第一最后一个字符只能是一个字母. 单个空格可以在任何地方多次出现,但字符串的第一个和最后一个字符. (不应允许多个空格在一起). 应忽
我需要在C#中使用 Regex在以下条件下匹配字符串:

>整个字符串只能是字母数字(包括空格).
>最多不超过15个字符(包括空格).
>第一&最后一个字符只能是一个字母.
>单个空格可以在任何地方多次出现,但字符串的第一个和最后一个字符. (不应允许多个空格在一起).
>应忽略资本化.
>应匹配整个单词.

如果这些先决条件中的任何一个被破坏,则不应该进行匹配.

这是我目前拥有的:

^b([A-z]{1})(([A-z0-9 ])*([A-z]{1}))?b$

以下是一些应该匹配的测试字符串:

> Stack OverFlow
>我最大的
> A.
>超人23
>一二三

还有一些不应该匹配(注意空格):

> Stack [double_space]溢出岩石
> 23你好
> ThisIsOver15CharactersLong
>你好23
> [space_here]嘿

等等

任何建议将不胜感激.

解决方法

你应该使用前瞻
|->matches if all the lookaheads are true
                                                               --
^(?=[a-zA-Z]([a-zA-Zds]+[a-zA-Z])?$)(?=.{1,15}$)(?!.*s{2,}).*$
-------------------------------------- ----------  ----------
                 |                       |           |->checks if there are no two or more space occuring
                 |                       |->checks if the string is between 1 to 15 chars
                 |->checks if the string starts with alphabet followed by 1 to many requireds chars and that ends with a char that is not space

你可以尝试here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读