我必须解析一个巨大的文件,但其中一个值让我感到很悲伤。
这是一个六个字符的固定长度字段。允许值的描述是:
左对齐;空间充满。不能包含特殊字符或嵌入空格。如果数据不可用,则填充空间。
到目前为止,我尝试检查:
If Code = " " Then
MsgBox "Code is Space Filled."
这将检查是否所有空间都填满,这没关系。
接下来,我使用以下功能检查是否有任何特殊字符:
With ObjRegex
.Global = True
.Pattern = "[^a-zA-Z0-9\s]+"
StripNonAlpha = .Replace(Replace(TextToReplace, "-", Chr(32)),
End With
我可以比较两个字符串,原始代码和剥离的特殊字符之一。如果它们不匹配则包含特殊字符且无效。
这是造成我问题的空间。我必须检查左对齐(没有前导空格后跟字符)并且没有嵌入空格,尾随空格都可以。
我尝试了上述功能的一些变化,但无济于事。
e.g。 (错误的):
(^\sa-zA-Z0-9\sa-zA-Z0-9)+
我会很感激任何指针。如果有更多的全部在一个'正则表达式更有意义,如果正则表达式是错误的方式,那么非常高兴乐于放弃它们。