正则表达式模式以验证名称字段

时间:2012-07-16 09:47:47

标签: excel vba

我对验证输入字段有以下要求:

  • 它应该只包含字母字符和空格。
  • 它不能在字符串的开头或结尾包含空格。
  • 它不能包含任何其他特殊字符。

例如,表达式应接受以下字符串"my name is wish"

我正在使用的正则表达式是:

RegExp.Pattern = "^[\a-zA-Z]*[\s]*[\a-zA-Z]*[\s]*[\a-zA-Z]*$"

当我输入名称“abc abc abc6”时,它接受它为有效。它应该输入一个错误,因为输入了一个数字。

1 个答案:

答案 0 :(得分:0)

尝试这种模式

^[a-zA-Z]+(?:\s+[a-zA-Z]+)*$

模式说明:

^          Start of string  
[a-zA-Z]   Any character in the class a to z or A to Z  
+          One or more repititions  
(?:   )    Match expresion but don't capture
\s+        Whitespace, One or more repititions  
*          Zero or more repititions  
$          End of string