正则表达式 - 仅允许字符串中的单个空格

时间:2013-08-09 10:47:55

标签: c# regex

我需要将字符串限制为仅允许字母,数字,连字符,&符号,撇号和单个空格。

到目前为止,我已经有了一些搜索:

^[A-Za-z0-9-'&\s]{1,}$

但这允许双倍空格。如何编写正则表达式以便它只允许单个空格(可能根本没有)?

3 个答案:

答案 0 :(得分:7)

匹配任何其他允许的值,后跟可选的单个空格:

^\s?([A-Za-z0-9-'&]\s?){1,}$

(如果允许的话,我还在开头添加了一个可选的)

答案 1 :(得分:1)

Try this
^([A-Za-z0-9-'&]+\s?)+$

答案 2 :(得分:0)

我尝试了不同的情况,对我来说很好 ^ \ b(?!。*?\ s {2})[A-Za-z0-9] {1,50} \ b $

[RegularExpression(@"^\b(?!.*?\s{2})[A-Za-z0-9 ]{1,50}\b$", ErrorMessage ="String is not valid"]
public string FirstName{ get; set; }