2011-05-12 77 views
0

我需要一个正则表达式来检查一个字符串应该只包含字母和空格。除字母[A-Z]和空格以外的其他任何字符都是不允许的。 请帮忙。正则表达式的产生

回答

3

完整的正则表达式看起来像这样

^[A-Z ]+$ 

您可以简单地创建一个字符类,把你希望允许的字符:

[A-Z ] 

,如果你想还允许小写字母,然后使用

[A-Za-z ] 

,或者使用了i(忽略)选项

所以,你的字符类匹配1个字符。你想重复它以匹配多个字符。

+至少会有一个字符,其中

*将额外匹配0字符

,因为你需要,以确保完整的字符串匹配最后一步,你可以做到这一点使用锚。

^匹配字符串

$开头的字符串的结尾(或换行,如果你使用了m(多)选项

0

检查字符串匹配以下:

^[a-zA-Z ]*$ 
2

字符类应足以

[A-Z ]+ 

即一个或AZ和空间之间更多的字母

+0

你必须锚定你的正则表达式,除非它匹配'#(ABC !!!:;' – Toto 2011-05-12 12:01:44

+0

是真的,^ [A-Z]应该是更好的答案!日Thnx – 2011-05-12 12:04:26

0

正则表达式字符类可以通过在他们开始时放置一个^符号而被否定。

你的例子可以这样否定:[^A-Z]。添加一个空格,以允许您想检查的全部字符范围,并且您有[^A-Z ]

现在你有一个符合你的标准的验证器:如果该正则表达式返回true,那么你的验证失败。

由于您没有指定您正在使用的编程语言,因此我无法帮到您。

0

这将匹配你需要的东西:

^[A-Z\s]+$ 
0

尝试匹配这个正则表达式

^[A-Za-z\s]+$ 
匹配

这应该是窍门